python - 如何在没有数据的地方删除重复项?
问题描述
我有一个看起来像这样的df:
Id column2 column3 column4 column5
1 1 1 1 nan
1 1 nan nan 1
我想通过Id
列删除重复项并将数据保留在有数据的列中Id
,我该怎么做?
新的df:
Id column2 column3 column4 column5
1 1 1 1 1
目前我正在使用这些代码行,但没有成功保存数据行:
1. df = df.drop_duplicates(subset='Id',keep='last')
2. df = df.loc[df.notnull().sum(1).groupby(analysis.Id).idxmax()]
解决方案
用于GroupBy.last
每组返回最后一个非 NaNs 值:
df1 = df.groupby('Id', as_index=False).last()
print (df1)
Id column2 column3 column4 column5
0 1 1 1.0 1.0 1.0 df1 = df.groupby('id', as_index=False).last()
推荐阅读
- pine-script - Is it possible to retrieve the current bar's color?
- pine-script - Plotting Arrow when Price Passes Indicator Line
- excel - Error handling when 'getElementById' can't find object/value
- yarnpkg - 我如何在 Yarn 2 中共享工作区中的公共依赖项?
- python - 在不更改字符的情况下查找包含子字符串的列表中的所有名称
- python - Keras,使用 model.predict 访问带有 spektral GCN 的中间层输出时的行为不一致
- selenium - SendKeys 仅将文本注入输入字段几秒钟,然后文本立即从输入字段中消失
- sql - 访问交叉表多行作为列标题?
- python - How to calculate sum of two event till the condition breaks in Python? I am new to python
- python - 在 Python 中使用模拟来确定概率序列