我有一个有 24 列的 df,我想迭代每一行并连续追加到列表中。
下面的代码完成了这项工作 - 但它还附加了我需要删除的索引值、名称和数据类型。
results = []
for row in data.iterrows():
results.append(row)
(0, 1 11.87
2 7.60
3 0.32
4 3.11
5 47.43
6 47.81
7 24.74
8 32.57
9 39.49
10 24.48
11 18.14
12 26.52
13 14.17
14 13.45
15 17.80
16 17.89
17 27.39
18 51.55
19 60.22
20 69.64
21 75.97
22 67.45
23 52.88
24 53.25
Name: 0, dtype: float64)
(1, 1 54.49
2 51.67
3 53.68
4 33.81
5 26.99
6 25.80
7 36.35
8 28.85
9 26.01
10 8.44
11 1.64
12 8.01
13 23.41
14 16.22
15 16.30
16 8.90
17 1.93
18 0.00
19 2.79
20 30.24
21 55.58
22 62.79
23 74.70
24 68.46
Name: 1, dtype: float64)
这类似于迭代每一行,调换所选行,然后将它们连续添加到列表中。如果 df 为 (5, 24),则列表长度将为 5*24 = 120。
最佳答案
您不需要迭代它们。试试这个:
inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]
df = pd.DataFrame(inp)
print(df)
c1 c2
0 10 100
1 11 110
2 12 120
现在您可以使用 .values.ravel()
创建所有数据帧值的列表:
list(df.values.ravel())
输出:
[10, 100, 11, 110, 12, 120]
关于python - 迭代 df 行并附加到不带名称和 dtype 的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66602619/