python - 对数据进行分组以完成彼此之间的记录

标签 python pandas group-by

我有一个任务,需要清理重复记录的数据,但同时用 nan 填充这些单元格,例如具有相同名称的记录的值:

id          id2      name   other_n        date       country
1.177.002   nan test_name    nan     8 decembre 1981    usa
1.177.002   A   test_name   ALVA        nan             nan 

到目前为止,我尝试了普通的 groupby 但没有得到我预期的结果

tst.groupby('name').mean()
tst.groupby('name').sum()

我正在寻找的结果应该是这样的:

id          id2      name   other_n        date       country
1.177.002   A   test_name    ALVA     8 decembre 1981   usa

最佳答案

运行:

df.groupby('name', as_index=False)\
    .agg(lambda col: col.loc[col.first_valid_index()])\
    .reindex(df.columns, axis=1)

需要最后的重新索引才能将列顺序恢复到原来的样子 它们在源 DataFrame 中排序。否则名称将被移动 到第一名

关于python - 对数据进行分组以完成彼此之间的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60009573/

相关文章:

python - 行是 3 个最新值的总和

python - 如何在 Python groupby 中分隔事件

python - 如何使 3D 散点图颜色条调整到 Z 轴大小?

Python:Pandas read_excel 无法打开 .xls 文件,不支持 xlrd

python Pandas : How to select two equal column per row of a dataframe

apache-spark - Pyspark --- 添加新列,其中包含每组的值

python - 在对我的 Windows 电脑进行基准测试后,重新安装所有 Python 库的有效方法是什么?

python - 为什么 python pickle 加载和转储会膨胀磁盘上对象的大小?

python - 如何 reshape 数据,以便将具有多个观察值的 ID 按 ID 分组为所有可能的观察对?

python - 如何将 args 传递给 sublime_plugin.WindowCommand 的实例?