gpt4 book ai didi

python - Pandas 通过保留一列的第一个元素和另一列的最后一个元素来合并

转载 作者:行者123 更新时间:2023-12-01 20:26:12 24 4
gpt4 key购买 nike

我有一个具有不同值和 ID 的数据框,但它们可以是共同的。

    df = pd.DataFrame({'A': ['chr1','chr1','chr1','chr1','chr1','chr2'],
'B': [700,750,800,850,900,200],
'C': [750,800,850,900,950,250],
'D':['id_1','id_1','id_1','id_1','id_1','id_2']})

我想做的是保留 B 的最低元素和 C 的较高元素,以获得相同的值 A 和 D

输出应如下所示:

    A    B    C    D
0 chr1 700 950 id_1
1 chr2 200 250 id_2

我尝试使用

groupby('D').agg(['first', 'last'])

但这不是我想要的......

最佳答案

使用GroupBy.agg带有按列名称和聚合函数的字典:

df1 = (df.groupby('D', as_index=False)
.agg({'A':'first', 'B':'first', 'C':'last'})
[['A','B','C','D']])
print (df1)
A B C D
0 chr1 700 950 id_1
1 chr2 200 250 id_2

关于python - Pandas 通过保留一列的第一个元素和另一列的最后一个元素来合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59631023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com