Python中如何将一维列表转换为DataFrame格式指南
关于dataframe与list的互相转换,要从两个角度不同维度去讲,一个是如何把list转换为
dataframe,另一个是把dataframe转换为list。同时要考虑list的维度、dataframe的不同形状。
先讲如何把list转换为dataframe。
一维列表如何转换为dataframe
在 Python 中,可使用 Pandas 库将一维列表转换为 DataFrame,以下为你介绍几种常见的转换方法及示例:
### 1. 将一维列表转换为单列 DataFrame
可以直接将一维列表传递给 `pandas.DataFrame()` 构造函数,默认情况下会将其转换为单列的 DataFrame。转换的时候要指定dataframe的列名。
```python
import pandas as pd
# 定义一维列表
my_list = [10, 20, 30, 40, 50]
# 转换为单列 DataFrame
df = pd.DataFrame(my_list, columns=['Column1'])
print(df)
```
#### 代码解释:
– `pd.DataFrame(my_list)`:使用 `DataFrame` 构造函数将一维列表转换为 DataFrame。
– `columns=['Column1']`:指定列名为 `Column1`。
### 2. 将一维列表转换为单行 DataFrame
如果你想把一维列表转换为单行的 DataFrame,可以通过 `pandas.DataFrame()` 构造函数结合 `[my_list]` 的方式实现。
```python
import pandas as pd
# 定义一维列表
my_list = [10, 20, 30, 40, 50]
# 转换为单行 DataFrame
df = pd.DataFrame([my_list], columns=['Col1', 'Col2', 'Col3', 'Col4', 'Col5'])
print(df)
```
#### 代码解释:
– `[my_list]`:将列表作为一个元素放在一个新的列表中,以表示这是一行数据。
– `columns=['Col1', 'Col2', 'Col3', 'Col4', 'Col5']`:指定每列的列名。
但是上面这种转换要注意一点,list中的数据的数量和columns指定的列的数量要相等,否则就会像下面这样出现错误。
```python
import pandas as pd
# 定义一维列表
my_list = [10, 20, 30, 40, 50,60,70]
# 转换为单行 DataFrame
df = pd.DataFrame([my_list], columns=['Col1', 'Col2', 'Col3', 'Col4', 'Col5','Col6'])
print(df)
```
### 3. 结合字典创建 DataFrame
可以先将一维列表与列名组成字典,再将字典传递给 `DataFrame` 构造函数。这种方式实际上是把由列表转换为dataframe的方式转化为由字典转化为dataframe的问题。字典的键作为dataframe的列名,字典的值作为dataframe的列的值。
```python
import pandas as pd
# 定义一维列表
my_list = [10, 20, 30, 40, 50]
# 创建字典
data = {'Values': my_list}
# 转换为 DataFrame
df = pd.DataFrame(data)
print(df)
```
#### 代码解释:
– `data = {'Values': my_list}`:创建一个字典,键为列名 `Values`,值为一维列表。
– `pd.DataFrame(data)`:将字典转换为 DataFrame。
作者:谷晓光