利用pandas,建立dataframe对象,并逐行添加数据,数据列数不一致,需要列名
时间: 2023-08-13 15:09:02 浏览: 380
浅析pandas 数据结构中的DataFrame
可以使用`pandas.DataFrame()`函数来建立一个空的dataframe对象,并利用`dataframe.loc[]`方法逐行添加数据。
首先,需要定义列名,可以用一个列表来保存列名。例如,我们定义了三个列名:'Name', 'Age', 'Gender'。
```python
import pandas as pd
# 定义列名
columns = ['Name', 'Age', 'Gender']
# 建立空的dataframe对象
df = pd.DataFrame(columns=columns)
```
接下来,我们可以用`dataframe.loc[]`方法逐行添加数据。例如,我们先添加一行数据,数据内容为:'Tom', 20, 'Male'。我们可以用一个列表来表示这一行数据。
```python
# 添加一行数据
data = ['Tom', 20, 'Male']
df.loc[0] = data
```
这样,我们就添加了一行数据。接下来,我们再添加一行数据,但这次我们只提供两个数据,缺少了'Gender'这一列的数据。此时,我们可以用`numpy.nan`代替缺少的数据,表示这是一个缺失值。
```python
# 添加另一行数据,缺失'Gender'这一列的数据
data = ['Jerry', 25, pd.np.nan]
df.loc[1] = data
```
这样,我们就成功地添加了一个数据列数不一致的dataframe对象。完整代码如下:
```python
import pandas as pd
# 定义列名
columns = ['Name', 'Age', 'Gender']
# 建立空的dataframe对象
df = pd.DataFrame(columns=columns)
# 添加一行数据
data = ['Tom', 20, 'Male']
df.loc[0] = data
# 添加另一行数据,缺失'Gender'这一列的数据
data = ['Jerry', 25, pd.np.nan]
df.loc[1] = data
print(df)
```
输出结果如下:
```
Name Age Gender
0 Tom 20 Male
1 Jerry 25 NaN
```
阅读全文