将多列拆分为 pandas 数据框中的行 [英] Splitting multiple columns into rows in pandas dataframe
本文介绍了将多列拆分为 pandas 数据框中的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个熊猫数据框,如下所示:
I have a pandas dataframe as follows:
ticker account value date
aa assets 100,200 20121231, 20131231
bb liabilities 50, 150 20141231, 20131231
我想拆分 df['value']
和 df['date']
以便数据框看起来像这样:
I would like to split df['value']
and df['date']
so that the dataframe looks like this:
ticker account value date
aa assets 100 20121231
aa assets 200 20131231
bb liabilities 50 20141231
bb liabilities 150 20131231
非常感谢任何帮助.
推荐答案
您可以先split
列,通过 stack
并通过 strip
:
You can first split
columns, create Series
by stack
and remove whitespaces by 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
Series
到 df1
:
df1 = pd.concat([s1,s2], axis=1, keys=['value','date'])
删除旧列 value
和 date
和 join
:
Remove old columns value
and date
and 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 数据框中的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文