【问题标题】:Move values to the row of the first value of another column [duplicate]将值移动到另一列的第一个值的行[重复]
【发布时间】:2021-11-03 08:55:26
【问题描述】:

我接触 Python 的时间很短,遇到问题时我通常会在网上找到答案,但我没有找到类似的东西,我觉得卡住了,所以我将解释我的问题.

简单来说,我有一个这样的数据框:

df:

ID X Y Z
A 1 0 0
A 0 0 1
A 1 0 0
B 0 1 0
B 1 0 0
B 0 0 1
B 1 0 0

我想将 XYZ 列中的所有“1”移动到具有各自 ID 列的第一个值的行。

这将是所需的输出:

end_df:

ID X Y Z
A 1 0 1
B 1 1 1

我认为我可以移动这些值,然后删除所有剩余的行 df.groupby('ID').first(),但我不知道如何将值向上移动到各自的行。

【问题讨论】:

  • 只有0, 1,所以可以用df.groupby('ID').max() ?

标签: python pandas


【解决方案1】:

你的意思是?

>>> df.groupby('ID', as_index=False).max()
  ID  X  Y  Z
0  A  1  0  1
1  B  1  1  1
>>> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多