下面是数据示例:
import pandas as pd
df = pd.DataFrame({
'file': ['file1','file2','file1','file2','file3','file3','file4','file5','file4','file5'],
'prop1': ['True','False','True','False','False','False','False','True','False','False'],
'prop2': ['False','False','False','False','True','False','True','False','True','False'],
'prop3': ['False','True','False','True','False','True','False','False','False','True']
})
file prop1 prop2 prop3
0 file1 True False False
1 file2 False False True
2 file1 True False False
3 file2 False False True
4 file3 False True False
5 file3 False False True
6 file4 False True False
7 file5 True False False
8 file4 False True False
9 file5 False False True
我需要将具有相同道具值的重复行删除到另一个数据框,并将它们从原始文件中删除。
所以另一个数据框应该是这样的(重复的行不应该重复):
file prop1 prop2 prop3
0 file1 True False False
3 file2 False False True
8 file4 False True False
df=df.drop_duplicates()删除一个重复的行,但不是像这样的第二个:
file prop1 prop2 prop3
0 file1 True False False
1 file2 False False True
4 file3 False True False
5 file3 False False True
6 file4 False True False
7 file5 True False False
9 file5 False False True
使用DataFrame.drop_duplicates
通过选择-所有没有第一个的列来指定列名称:
df = df.drop_duplicates(df.columns[1:])
或在列名称中选择带有prop
的列:
df = df.drop_duplicates(df.filter(like='prop').columns)
print (df)
file prop1 prop2 prop3
0 file1 True False False
1 file2 False False True
4 file3 False True False
uniques = df.drop_duplicates()
duplicates = df.iloc[list(set(df.index) - set(uniques.index))]
您可以首先使用熊猫方法drop_duplicates()
来创建一个只有唯一行的数据帧。然后,您可以比较原始数据帧的索引和框架中具有唯一行的索引,删除的索引是重复行,您可以从原始数据帧中再次复制这些行,以便现在将您的唯一行和重复行分开。
我有两个Pandas Dataframe和,其中是的一部分,我想创建一个Dataframe,其中包含中的code>。 以下是一个例子: 注: 我的DataFrame可能有多个列,但是必须仅在列上进行匹配。
我想过滤熊猫DataFrame,它从DataFrame中过滤掉除值中声明的行之外的所有其他列。我如何才能做到这一点并获得预期输出。 预期输出:
有人能解释一下为什么这个代码不起作用吗? 它返回错误:TypeError:(“'NoneType'对象不可调用”,“发生在索引0上”)数据帧df在某些单元格中包含一些None值。我的意图是对所有非无值应用函数。
我使用熊猫数据框来清理和处理数据。但是,我需要将其转换为numpy ndarray,以便使用利用矩阵乘法。我将数据框转换为具有以下内容的列表列表: 这将返回以下结构: 然后我将其转换为如下所示的numpy数组: 然而,以下打印: 给出这个结果: 但是,我需要它们都是numpy数组。如果它不是来自熊猫数据帧,我只是转换一个硬编码列表,那么它们都是Ndarray。当列表是从数据帧生成的时,如何获取该列
在Python3下,我有一个dict,格式如下: 我想使用dict键作为列将其转换为数据帧: 但是,当我尝试以下命令时,我有一个ValueError:
这似乎是非常基本的知识,但我还是卡住了,尽管我有一些数据处理的理论背景(通过其他软件)。值得一提的是,我是蟒蛇和熊猫图书馆的新手。 我的任务是将系列名称列的值作为单独的列(从长到宽转换)。我花了很长时间尝试不同的方法,但只有错误。 例如: 我犯了一个错误: ...很多短信...通过值的长度是2487175,索引暗示2 有谁能指导我完成这个过程吗?谢谢 它用于代码“mydata=mydata”。pi