python - 在循环内使用 lambda 迭代列
问题描述
我有一个具有以下结构的df:
ID | M | C1 | C2 | C3
tt | 23| 23 | 563| 234
rt | 13| 3 | 32 | 67
cf | 78| 67 | 90 | 90
di | 45| 12 | 112| 34
作为下一个操作的结果,我想遍历列并创建其他列:
additional_column1 = M+1+C1
additional_column2 = additional_column1+1+C2
additional_column3 = additional_column2+1+C3
这样生成的 DF 将如下所示:
ID | M | C1 | C2 | C3 | AC1 | AC2 | AD3
tt | 23| 23 | 563| 234| 47 | 611 | 846
我创建了一个 for 循环,但它用0x7f6e81e2c5e0>填充列而不是数字
循环如下所示:
for c in np.arange(start=1, stop=len(df.columns[1:])+1, step=1):
df['AC'+str(c)] = lambda c: df.columns[c-1].add(0).sub(df.iloc[:, c])
需要线索,我在哪里做错了。提前致谢。
解决方案
国际大学联盟:
for c in np.arange(start=1, stop=len(df.columns[1:])+1, step=1):
df['AC'+str(c)] = df.iloc[: , c-1].add(0).sub(df.iloc[:, c])
推荐阅读
- python - 合并数据帧后增加内存
- sas - 在SAS中重命名数据集中的标题
- python - 仅当输入为无时,如何对 Python 函数进行类型注释以将其标记为返回无?
- python - 在pyqt上流式传输opencv视频时它可以工作,但是为什么在使用dlib编写代码时它不起作用?
- regex - 正则表达式允许除字符 0 之外的所有字符
- python - 我有两个只有 3 列共有的 excel 文件,我想合并其余信息以获得一个新的 excel 文件
- sql - 我们可以在表的特定分区上创建视图吗
- java - 如何从spring的application.properties定义和读取对象数组?
- python - 如何将字符串拆分为字符串和整数?
- amazon-web-services - AWS IAM 角色能否用于在 AWS 之外运行的应用程序?