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。

作者:谷晓光

物联沃分享整理
物联沃-IOTWORD物联网 » Python中如何将一维列表转换为DataFrame格式指南

发表回复