批量给dataframe的行的最后一列增加不同元素
时间: 2023-06-17 22:03:06 浏览: 78
可以使用apply函数来实现批量给dataframe的行的最后一列增加不同元素的操作。具体实现步骤如下:
1. 定义一个函数,该函数接收一个Series对象(即dataframe的一行),并在该Series对象的最后一列增加指定的元素。
2. 使用apply函数,将该函数应用到dataframe的每一行。
3. 最后得到的结果是dataframe的每一行的最后一列都增加了指定的元素。
示例代码如下:
```python
import pandas as pd
# 定义要添加的元素
suffixes = ["_A", "_B", "_C"]
# 定义要应用到每一行的函数
def add_suffix(row):
# 获取最后一列的列名
col_name = row.index[-1]
# 获取最后一列的值
value = row[col_name]
# 在最后一列的值后面添加指定的后缀
new_value = f"{value}{suffixes[row.name % len(suffixes)]}"
# 返回修改后的Series对象
return row[:-1].append(pd.Series([new_value], index=[col_name]))
# 创建一个示例dataframe
df = pd.DataFrame({
"A": [1, 2, 3],
"B": [4, 5, 6],
"C": [7, 8, 9]
})
# 使用apply函数将add_suffix函数应用到每一行
df = df.apply(add_suffix, axis=1)
# 输出结果
print(df)
```
输出结果如下:
```
A B C
0 1 4 7_A
1 2 5 8_B
2 3 6 9_C
```
可以看到,每一行的最后一列都增加了指定的后缀。其中,第一行增加了"_A",第二行增加了"_B",第三行增加了"_C"。
阅读全文