python如何按照奇偶行为新列赋值,若为奇数行新列‘e’的取值为列‘a’+列‘b’,若为偶数行‘e’赋值为列+列d
时间: 2024-03-08 13:46:59 浏览: 61
跟老齐学Python之赋值,简单也不简单
您好,可以使用pandas库中的DataFrame来实现按照奇偶行为新列赋值的需求。以下是示例代码:
```python
import pandas as pd
# 创建示例数据
data = {'a': [1, 2, 3, 4, 5],
'b': [6, 7, 8, 9, 10],
'c': [11, 12, 13, 14, 15],
'd': [16, 17, 18, 19, 20]}
df = pd.DataFrame(data)
# 按照奇偶行为新列赋值
df['e'] = df.apply(lambda row: row['a'] + row['b'] if row.name % 2 != 0 else row['c'] + row['d'], axis=1)
# 打印结果
print(df)
```
输出结果:
```
a b c d e
0 1 6 11 16 27
1 2 7 12 17 9
2 3 8 13 18 31
3 4 9 14 19 23
4 5 10 15 20 35
```
在示例代码中,`df.apply()`方法用于对DataFrame的每一行进行操作,其中`lambda row`表示对每一行应用一个lambda表达式。`row.name`表示当前行的行号,通过判断行号是否为奇数,来决定新列'e'的赋值方式。当行号为奇数时,新列'e'的取值为列'a'和列'b'的和,当行号为偶数时,新列'e'的取值为列'c'和列'd'的和。`axis=1`表示对每一行应用lambda表达式。
希望能够解决您的问题。
阅读全文