如果dataframe的‘部件名称’列含有‘a', 则‘a’行新增一列并赋值为‘1’, 如果dataframe的‘部件名称’列含有‘b', 则‘b’行新增一列并赋值为‘2’
时间: 2023-07-24 10:43:44 浏览: 71
对dataframe进行列相加,行相加的实例
5星 · 资源好评率100%
您可以使用 Pandas 库中的 apply 和 lambda 函数来实现此操作。具体的实现步骤如下:
1. 定义一个函数,该函数将根据 '部件名称' 列的值返回一个字典,其中包含需要添加到每行的新列名称和值。
```python
def add_column(row):
new_cols = {}
if 'a' in row['部件名称']:
new_cols['a'] = 1
if 'b' in row['部件名称']:
new_cols['b'] = 2
return new_cols
```
2. 使用 apply 和 lambda 函数将该函数应用于每一行,并将结果转换为 DataFrame。
```python
new_cols = df.apply(lambda row: add_column(row), axis=1)
new_df = pd.concat([df, new_cols.apply(pd.Series)], axis=1)
```
这将在原始 DataFrame 中添加新列 'a' 和 'b',并将它们的值设置为 1 和 2(如果行的 '部件名称' 列包含相应的字母)。
阅读全文