python 如果前一行sa_id=='Nigeria',在该行新增一列contry并赋值Nigeria,python代码如何实现
时间: 2024-09-19 10:09:32 浏览: 37
在Python中,如果你想要在一个DataFrame中基于特定条件(如`sa_id=='Nigeria'`)动态添加新的一列并赋值,你可以使用`pandas`库中的`loc`或`apply`方法。假设你的DataFrame名为`df`,并且`sa_id`列已经是存在的。这里是一个示例:
```python
import pandas as pd
# 假设df是你需要操作的数据框
df.loc[df['sa_id'] == 'Nigeria', 'country'] = 'Nigeria'
# 或者,如果你想通过一个函数实现,可以这样做:
def add_country(row):
if row['sa_id'] == 'Nigeria':
return 'Nigeria'
else:
return np.nan # 或者返回None或者其他默认值
df['country'] = df.apply(add_country, axis=1)
```
在这两个例子中,如果`sa_id`为"Nigeria",新的`'country'`列会被设置为"Nigeria";如果不是,则保持原样或填入缺失值。
请注意,`np.nan`代表缺失值,如果你不想在其他地方有缺失值,可以将`np.nan`替换为你想使用的默认值。
阅读全文