我正在尝试将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/

10-12 21:13