python - 根据列头对一行中的值求和
问题描述
我想用下面的代码分别计算每一行中apple_*_C
,apple_*_Cr
的总和。apple_*_Cu
for test in ['apple']:
df[f'{test}_C']=df.filter(regex=f'^{test}_\d_C').sum(1)
df[f'{test}_C']=df.filter(regex=f'^{test}_\d_Cr').sum(1)
df[f'{test}_C']=df.filter(regex=f'^{test}_\d_Cu').sum(1)
但是,将连续df[f'{test}_C']=df.filter(regex=f'^{test}_\d_C').sum(1)
计算 和 的总和apple_*_C
,而不是仅计算。请告知我应该如何修改它。apple_*_Cr
apple_*_Cu
apple_*_C
解决方案
import pandas as pd
data = {
"Apple_1_C" : [1,2],
"Apple_2_C" : [2,3],
"Apple_3_C" : [3,4],
"Apple_1_Cr" : [4,5],
"Apple_1_Cr" : [5,6],
"Apple_1_Cu" : [6,7],
"Apple_2_Cu" : [7,8],
}
df = pd.DataFrame(data)
df
for i, test in enumerate(['Apple']):
df[f'{test}_C_sum']=df.filter(regex=f'^{test}_\d_C$').sum(1)
df[f'{test}_Cr_sum']=df.filter(regex=f'^{test}_\d_Cr').sum(1)
df[f'{test}_Cu_sum']=df.filter(regex=f'^{test}_\d_Cu').sum(1)
df
推荐阅读
- python - python conda pystan,需要旧版本的 mpfr 库吗?
- python - 如何检查 Python 对象是否满足类型约束?
- c++ - 链表中的递归长度函数实现
- elixir - 为什么我的 Elixir Ecto 查询中出现“关键字查询表达式中的 :except_all 不受支持”?
- hibernate - org.hibernate.UnknownEntityTypeException: Unable to locate persister: com.entity.Employee ,我正在尝试做二级缓存
- pyspark - 将 pyspark 数据帧转换为动态数据帧
- javascript - 从外部 JavaScript 函数调用 react 组件的函数
- docker - 无法将第二个 kafka 实例 dockerize 到 zookeeper
- node.js - Nodejs exec子进程stdout没有得到所有的块
- odoo - Many2one 选择的显示名称