我想根据两列中的值从 Dataframe 中删除重复行:Column1
和Column2
如果dataframe
为:
df = pd.DataFrame({'Column1': ["'cat'", "'toy'", "'cat'"],
'Column2': ["'bat'", "'flower'", "'bat'"],
'Column3': ["'xyz'", "'abc'", "'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
使用相同代码(Cat和Bat情况已更改)
df = pd.DataFrame({'Column1': ["'Cat'", "'toy'", "'cat'"],
'Column2': ["'Bat'", "'flower'", "'bat'"],
'Column3': ["'xyz'", "'abc'", "'lmn'"]})
我得到:
Column1 Column2 Column3
0 'Cat' 'Bat' 'xyz'
1 'toy' 'flower' 'abc'
2 'cat' 'bat' 'lmn'
预期输出:
Column1 Column2 Column3
0 'cat' 'bat' 'xyz'
1 'toy' 'flower' 'abc'
怎样才能不区分大小写地进行这种比较呢?
3条答案
按热度按时间pn9klfpd1#
我想通了。创建新的大写列,然后用它们来删除重复项。完成后,删除大写列。
这给出:
最后,运行下面的命令删除重复的和创建的列。
这给出:
92dk7w1h2#
您可以将 Dataframe 转换为小写,然后应用您的解决方案。
你的数据框。
然后使用较低的字符串。
然后将df过滤为大写。
pb3s4cty3#
首先,使用以下行将所有字符串值转换为小写,使其不区分大小写:
您将得到如下输出。
现在应用删除重复项功能。
一个二个一个一个
参考:here