我有一个包含200行的excel文件,其中2行中包含逗号分隔值。如果我将它们输出到制表符分隔符,它将如下所示:
col1 col2
a b,c
d e,f,g
我需要爆炸才能获得这样的数据帧,将200行扩展到~4,000:
col1 col2
a b
a c
d e
d f
d g
我没有看到熊猫中的任何爆炸功能,而且我们已经能够弄清楚如何使逗号分隔值的列长度不均匀 - 不确定分割在这里如何工作。
帮我堆叠溢出,你是我唯一的希望。谢谢!
答案 0 :(得分:1)
让我们使用pd.DataFrame
,.str.split
,stack
:
df_out = (pd.DataFrame(df.col2.str.split(',').tolist(), index=df.col1)
.stack()
.reset_index()
.drop('level_1',axis=1)
.rename(columns={0:'col2'}))
输出:
col1 col2
0 a b
1 a c
2 d e
3 d f
4 d g