pandas把dataframe转换成列表
时间: 2024-08-13 08:03:15 浏览: 81
在Pandas库中,DataFrame是一种二维表格型数据结构,它包含不同类型列的数据。将DataFrame转换为列表通常是通过列名或索引来选择特定数据并将其转化为单维度数组。以下是两个常见的例子:
1. **按列**:如果你想要将整个DataFrame的所有列转换为一个列表(list of lists),可以这样做:
```python
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['x', 'y', 'z']})
columns_list = df.values.tolist() # 或者 df.to_numpy().tolist()
print(columns_list)
```
这将输出类似这样的列表嵌套列表:`[[1, 'x'], [2, 'y'], [3, 'z']]`。
2. **按行**:如果你只想获取每一行的数据,可以使用`.iterrows()`方法:
```python
df.iterrows()会生成一个迭代器,返回一个元组,包含行索引和该行数据的Series
rows_list = [row for row in df.itertuples()]
print(rows_list)
```
这将输出每行的数据,例如:`[(0, 1, 'x'), (1, 2, 'y'), (2, 3, 'z')]`。
3. **按条件筛选后转换**:你可以先应用过滤条件,再转换为列表:
```python
filtered_df = df[df['A'] > 1]
column_values = filtered_df['A'].tolist()
print(column_values)
```
这将输出大于1的所有'A'列值,比如 `[2, 3]`。
请注意,这些建议假设你的DataFrame已经初始化并且不包含混合类型的列。不同类型的列在转换到列表时可能会有不同的处理方式。
阅读全文