gpt4 book ai didi

python - 在 Pandas 数据框中为每个组添加第一行

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:24 25 4
gpt4 key购买 nike

这些是我的数据框:

df1 = pd.DataFrame({'sym': ['msft', 'msft', 'amd', 'amd'], 'close': [102, 100, 35, 30]})

df2 = pd.DataFrame({'sym': ['msft', 'amd'], 'close': [103, 36]})

我想结合 df1df2,为 df1 中的每组 sym 添加第一行。这是一个简化的数据框,我的原始数据框有数千行。

这是我想要的结果:

 sym  close
0 msft 103
1 msft 102
2 msft 100
3 amd 36
4 amd 35
5 amd 30

最佳答案

您可以使用 pd.Categorical() 执行此操作这让您可以设置分类列的顺序。

m=df2.append(df1,ignore_index=True)
m=m.assign(sym=pd.Categorical(m.sym,df1.sym.unique(),ordered=True)).sort_values('sym')

    sym  close
0 msft 103
2 msft 102
3 msft 100
1 amd 36
4 amd 35
5 amd 30

关于python - 在 Pandas 数据框中为每个组添加第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56823696/

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