2024-04-28 12:11:11 发布
网友
我有一个像这样的熊猫数据框。
'Column1' 'Column2' 'Column3' 'cat' 'bat'. 'xyz' 'toy' 'flower'. 'abc' 'cat' 'bat' 'lmn'
我想确定cat和bat是重复的相同值,因此要删除一条记录并只保留第一条记录。生成的数据帧应该只有。
'Column1' 'Column2' 'Column3' 'cat'. 'bat'. 'xyz' 'toy'. 'flower'. 'abc'
使用带列列表的drop_duplicates和subset检查重复项,并使用keep='first'保留第一个重复项。
drop_duplicates
subset
keep='first'
如果dataframe是:
dataframe
df = pd.DataFrame({'Column1': ["'cat'", "'toy'", "'cat'"], 'Column2': ["'bat'", "'flower'", "'bat'"], 'Column3': ["'xyz'", "'abc'", "'lmn'"]}) print(df)
结果:
Column1 Column2 Column3 0 'cat' 'bat' 'xyz' 1 'toy' 'flower' 'abc' 2 'cat' 'bat' 'lmn'
然后:
result_df = df.drop_duplicates(subset=['Column1', 'Column2'], keep='first') print(result_df)
Column1 Column2 Column3 0 'cat' 'bat' 'xyz' 1 'toy' 'flower' 'abc'
在Dataframe的drop_duplicates()方法中,您可以提供一系列列名来消除数据中的重复记录。
Dataframe
drop_duplicates()
以下“已测试”代码的作用相同:
import pandas as pd df = pd.DataFrame() df.insert(loc=0,column='Column1',value=['cat', 'toy', 'cat']) df.insert(loc=1,column='Column2',value=['bat', 'flower', 'bat']) df.insert(loc=2,column='Column3',value=['xyz', 'abc', 'lmn']) df = df.drop_duplicates(subset=['Column1','Column2'],keep='first') print(df)
在subset参数内,还可以插入其他列名,默认情况下,它将考虑数据的所有列,并且可以提供keep值:
import pandas as pd df = pd.DataFrame({"Column1":["cat", "dog", "cat"], "Column2":[1,1,1], "Column3":["C","A","B"]}) df = df.drop_duplicates(subset=['Column1'], keep='first') print(df)
使用带列列表的
drop_duplicates
和subset
检查重复项,并使用keep='first'
保留第一个重复项。如果
dataframe
是:结果:
然后:
结果:
在
Dataframe
的drop_duplicates()
方法中,您可以提供一系列列名来消除数据中的重复记录。以下“已测试”代码的作用相同:
在subset参数内,还可以插入其他列名,默认情况下,它将考虑数据的所有列,并且可以提供keep值:
相关问题 更多 >
编程相关推荐