有什么方法可以将 drop_duplicates 与条件一起使用吗?例如,让我们采用以下数据框:
import pandas as pd
df = pd.DataFrame({
'Customer_Name': ['Carl', 'Carl', 'Mark', 'Joe', 'Joe'],
'Customer_Id': [1000,None,None,None,50000]
})
基于此 Dataframe,我想为 Customer_Id 和 Customer_Name 派生一个具有不同行的 Dataframe
Customer_Id Customer_Name
0 1000 Carl
2 NaN Mark
5 50000 Joe
不幸的是,我不能为此使用 drop_duplicates 方法,因为此方法总是会删除第一个或最后一个重复的事件。
但是,在我的情况下,情况有所不同(请参阅 Carl 和 Joe)。此外,我不能只删除 Customer_Id 列中没有条目的所有行,因为这也会删除 Mark 的条目。
我非常感谢任何帮助。
请您参考如下方法:
这个正在处理您的示例:
>>> df.groupby('Customer_Name').first().reset_index()
Customer_Name Customer_Id
0 Carl 1000
1 Joe 50000
2 Mark NaN
但我必须检查 first() 如何处理缺失值以确保它始终如一地工作。
