在`pandas`中,dataframe可以使用以下多种方法添加列:
### 直接赋值法
如果要添加的列是一个常量值或者可广播的序列,可以直接通过索引赋值的方式添加新列。示例如下:
```python
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 添加一个全为7的新列C
df['C'] = 7
# 添加一个基于现有列计算的新列D
df['D'] = df['A'] + df['B']
print(df)
```
### `assign`方法
`assign`方法可以在不修改原始`DataFrame`的情况下添加新列,并返回一个新的`DataFrame`。示例如下:
```python
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 使用assign方法添加新列E和F
new_df = df.assign(E=lambda x: x['A'] * 2, F=lambda x: x['B'] ** 2)
print(new_df)
```
### `insert`方法
`insert`方法可以在指定位置插入新列。示例如下:
```python
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 创建要插入的新列数据
new_column = [7, 8, 9]
# 使用insert方法在索引为1的位置插入新列G
df.insert(1, 'G', new_column)
print(df)
```