gpt4 book ai didi

pandas - 将 pandas 数据框中的多列拆分为行

转载 作者:行者123 更新时间:2023-12-02 06:29:36 25 4
gpt4 key购买 nike

我有一个 pandas 数据框,如下所示:

ticker    account      value         date
aa assets 100,200 20121231, 20131231
bb liabilities 50, 150 20141231, 20131231

我想拆分 df['value']df['date'] ,以便数据框如下所示:

ticker    account      value         date
aa assets 100 20121231
aa assets 200 20131231
bb liabilities 50 20141231
bb liabilities 150 20131231

非常感谢任何帮助。

最佳答案

你可以先split列,通过 stack 创建系列并通过 strip 删除空格:

s1 = df.value.str.split(',', expand=True).stack().str.strip().reset_index(level=1, drop=True)
s2 = df.date.str.split(',', expand=True).stack().str.strip().reset_index(level=1, drop=True)

然后concat Seriesdf1:

df1 = pd.concat([s1,s2], axis=1, keys=['value','date'])

删除旧列日期join :

print (df.drop(['value','date'], axis=1).join(df1).reset_index(drop=True))
ticker account value date
0 aa assets 100 20121231
1 aa assets 200 20131231
2 bb liabilities 50 20141231
3 bb liabilities 150 20131231

关于pandas - 将 pandas 数据框中的多列拆分为行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38651008/

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