如何解决删除存在空值的列的重复项
我有一个数据框 df1,第 1 列 (col1) 包含客户 ID。 Col2 填满了销售额,部分值缺失
我的问题是我只想删除 col1 中缺少销售价值的重复客户 ID。
def drop(i):
if i[col2] == np.nan:
i.drop_duplicates(subset = 'col1')
else:
return i['col1']
感谢您的阅读。希望得到解决方案
解决方法
以下应该有效,使用 groupby、apply、dropna、reset_index
假设你的数据是这样的
输入:
col1 col2
0 1001 2.0
1 1001 NaN
2 1002 4.0
3 1002 NaN
代码:
import pandas as pd
import numpy as np
#Dummy data
data = {
'col1':[1001,1001,1002,1002],'col2':[2,np.nan,4,np.nan],}
df = pd.DataFrame(data)
#Solution
df.groupby('col1').apply(lambda group: group.dropna(subset=['col2'])).reset_index(drop=True)
输出:
col1 col2
0 1001 2.0
1 1002 4.0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。