首页 > 解决方案 > 使用 pandas 将列附加到列

问题描述

我有一个具有以下结构的数据集,大小不一:

A B C D E F G H I J
1 8 7 1 3 4 7 1 5 9 
8 9 1 4 7 4 5 2 1 2 
8 9 7 7 4 2 9 7 1 0 

我想要做的是将所有列附加到第一列并获得如下结果:

A
1
8
8
8
9
9
7
1
7
1
7
...

到目前为止我的代码:import pandas as pd

df = pd.read_csv("data.csv", header=None, delimiter=";")

for column in df:
    df.append(column)

print(df)

我认为它应该通过遍历所有列并使用 .append 将它们附加到第一列来工作。

任何帮助表示赞赏

标签: pythonpandas

解决方案


我相信这里是更好的使用numpynumpy.ravel带有转置numpy数组的解决方案:

df = pd.DataFrame({'A':df.values.T.ravel()})
print (df)
    A
0   1
1   8
2   8
3   8
4   9
5   9
6   7
7   1
8   7
9   1
10  4
11  7
12  3
13  7
14  4
15  4
16  4
17  2
18  7
19  5
20  9
21  1
22  2
23  7
24  5
25  1
26  1
27  9
28  2
29  0

推荐阅读