从 csv 和训练中删除重复数据(Keras、python、pandas)

Posted

技术标签:

【中文标题】从 csv 和训练中删除重复数据(Keras、python、pandas)【英文标题】:Delete duplicate datas from csv and training (Keras, python, pandas) 【发布时间】:2021-10-14 07:03:52 【问题描述】:

假设我们有一个 csv 数据集。让数据具有代表性如下。假设 csv 中有 1000 列和 1000 行包含这些数据。

假设我们在 Keras 库中执行回归和预测操作时使用 A 列和 B 列。我想删除A中的重复数据,只留下一个。例如,如果 1 个中有 5 个,则只剩下 4 个。同时,我希望从 B 列或任何 X 列中删除从重复数据中删除的所有 4 个数据。

如果我们将其视为 2 个不同的场景,

A 列中的重复数据同样会从 B 列或任何其他列中删除。

另一种情况是删除多个,即每列中的重复数据相互独立。

回归过程需要使用 keras 模块对最后剩余的数据进行。

你能帮忙吗?

【问题讨论】:

您能否提供一个输出示例来说明您的期望? @kodkirurg 场景 1,A 1 2 3 4 5,B 2 4 5 1 3 6 8,C 1 6 3 4,D 2 6 9 0 1 3,E 8 6 1 2 3 5 7 @kodkirurg 场景 2,A 1 2 3 4 5,B 2 4 5 6 8,C 1 6 3 1 3,D 2 6 9 6 3,E 8 6 1 5 7,主要目标是,从数据集中删除重复数据以使用 keras 应用回归 你的意思是每列应该只包含唯一值,如果确实存在非唯一值,我们会删除整行? pandas.pydata.org/pandas-docs/stable/reference/api/… 可能是您正在寻找的。我能理解你在做什么,我可能可以帮你写代码。 【参考方案1】:

这将检查 A 列的重复项,如果发现重复项,它将删除整行。

import pandas as pd

d = 'A': [1,2,3,2,1,4,5],
     'B': [2,4,5,1,3,6,8],
     'C': [1,6,3,4,6,1,3],
     'D': [2,6,9,0,1,6,3],
     'E': [8,6,1,2,3,5,7]
    

df = pd.DataFrame(data=d)
df.drop_duplicates(subset='A')

输出:

【讨论】:

不完全是这样,我想我解释错了。从A列删除的数据对应的数据同样从B列中删除。A中的数据可能是唯一的,但B没有这样的要求。删除后,A和B的行数必须相等。跨度> 那是正确的,B 不必是唯一的,让我更新输出以便更容易看到。 谢谢,这就是我想要的。好吧,如果我认为我是从 csv 文件运行这些,请将 pandas 导入为 pd d = pd.read_csv('data.csv') df = pd.DataFrame(data=d) df.drop_duplicates(subset='A') print (d) 删除后如何打印数据?我无法运行我的代码,你能帮忙吗? 我想你可能会忘记分配数据。 df1 = df.drop_duplicates(子集='A')。然后打印(df1)。或者你可以写 df.drop_duplicates(subset='A, inplace=true) 和 print(df)。就地意味着它将更新数据框

以上是关于从 csv 和训练中删除重复数据(Keras、python、pandas)的主要内容,如果未能解决你的问题,请参考以下文章

如何将多个 CSV 数据集以适合 Keras 中的模型?

如何从 csv 文件中删除重复数据?

Keras LSTM 训练数据格式

python 图片读取 常用操作方法

Keras 误解了训练数据的形状

flow_from_directory 可以从 Keras 的同一目录中获取训练和验证数据吗?