python - 迭代 df 行并附加到不带名称和 dtype 的列表

标签 python pandas dataframe

我有一个有 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/

相关文章:

python - 连接多个数据帧时保留原始分类映射

python - 从多列python中查找

python - 根据日期连接两个 DataFrame

python - 在 Pandas 中,如何从基于另一个数据框的数据框中删除行?

python - Django:通过相关模型字段从查询集中删除重复项(分组依据)

json - 使用 Python 将数据框转换为 JSON

python - 删除 pandas DataFrame 中的嵌套数组

r - 如何根据数据的整体顺序更改特定的分类变量

python - 嵌套列表理解

python - 找到一个python变换函数或numpy矩阵将偏斜正态分布变换为正态分布