如果要在`pandas`的dataframe中添加多行该如何实现?可通过以下常见方式在`DataFrame`末尾添加:
### 方法一:使用`loc`索引器
利用`loc`索引器分两次操作来添加两行数据。假设已有`DataFrame`对象`df`,要添加的两行数据分别存储在字典`new_row1`和`new_row2`中(字典的键需与`df`的列名对应),示例代码如下:
```python
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 要添加的第一行数据
new_row1 = {'A': 4, 'B': 7}
# 要添加的第二行数据
new_row2 = {'A': 5, 'B': 8}
df.loc[len(df)] = new_row1
df.loc[len(df)] = new_row2
print(df)
```
上述代码中,`len(df)`表示`DataFrame`当前的长度,`df.loc[len(df)] = new_row1`会将`new_row1`作为新行添加到`df`末尾,再次执行`df.loc[len(df)] = new_row2`可添加第二行。
### 方法二:使用`append`方法(旧版本支持,新版本已不推荐, pandas 1.4.0之后不再使用)
可使用`append`方法将包含两行数据的新`DataFrame`添加到原`DataFrame`末尾。示例代码如下:
```python
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 要添加的两行数据
new_data = {'A': [4, 5], 'B': [7, 8]}
new_df = pd.DataFrame(new_data)
df = df.append(new_df, ignore_index=True)
print(df)
```
这里先创建了一个包含两行数据的`DataFrame`对象`new_df`,然后通过`append`方法将其添加到`df`末尾,`ignore_index=True`的作用是重置索引。
### 方法三:使用`concat`函数
`concat`函数可用于纵向合并`DataFrame`,从而实现添加行的效果。示例代码如下:
```python
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
print(df)
# 要添加的两行数据
new_data = {'A': [4, 5], 'B': [7, 8]}
new_df = pd.DataFrame(new_data)
df = pd.concat([df, new_df], ignore_index=True)
print(df)
```
上述代码通过`pd.concat([df, new_df], ignore_index=True)`将`df`和`new_df`沿纵向(`axis=0`,默认)合并在一起,并重置索引,从而在原`df`末尾添加了两行数据。