我正在尝试将csv中的多个列合并为一个列,并重复每个原始列的标题,如下所示。
userA userB
A1 B1
A2 B2
A2 B3
A2 B4
变成这个:
userA A1
userA A2
userA A3
userA A4
userB B1
userB B2
userB B3
userB B4
有没有人对如何执行此操作有任何建议。我在熊猫上确实有一些经验,但是我现在很茫然。
更新:我发现了如何合并列
df = pd.read_csv(filename, sep='\t')
df = df.combine_first(pd.Series(df.values.ravel('F')).to_frame('merged'))
最后更新:使用melt()解决
df = pd.melt(df)
最佳答案
您可以使用melt
df.melt()
Out[702]:
variable value
0 userA A1
1 userA A2
2 userA A2
3 userA A2
4 userB B1
5 userB B2
6 userB B3
7 userB B4
关于python-3.x - 在重复标题的同时将多个csv列合并为一个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49910791/