我有以下数据集:
1 8 15 22
2 9 16 23
3 10 17 24
4 11 18 25
5 12 19 26
6 13 20 27
7 14 21 28
我想得到如下结果:
1
2
3
4
5
6
7
8
...
23
24
25
26
27
28
所以我想遍历数据集的所有列并将每一列连接到第一列。
import pandas as pd
df = pd.read_csv("data.csv", delimiter=";", header=-1)
number_of_columns= len(df.columns)
print(number_of_columns)
for i in range (1,number_of_columns):
df1 = df.iloc[:,i]
df2 = pd.concat([df,df1], ignore_index=True)
print(df2)
只有最后一列连接到最终数据框中。我知道 df2 在 for 循环的每次迭代中都会被覆盖。
那么如何在每个 for 循环之后“保存”df2,以便连接每一列?
非常感谢!
请您参考如下方法:
按列
堆栈+tolist
df.stack().tolist()
[1,
8,
15,
22,
2,
9,
16,
23,
3,
10,
17,
24,
4,
11,
18,
25,
5,
12,
19,
26,
6,
13,
20,
27,
7,
14,
21,
28]
按行
融化
df.melt().value.tolist()
[1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28]
unstack+tolist
df.unstack().tolist()
#outputs same as above
