如何对列名含特殊字符的Dataframe按前缀对open、close列求和计算total值
实现方法
使用Python的pandas库可以快速实现该需求,完整代码和逻辑如下:
步骤1:导入依赖库
import pandas as pd
步骤2:构造示例DataFrame(如果你已经有对应DataFrame可跳过该步骤)
df = pd.DataFrame({ 'A-open': [1], 'A-close': [4], 'A-total': [0], 'G-open': [3], 'G-close': [5], 'G-total': [0], 'F-open': [8], 'F-close': [2], 'F-total': [0] })
步骤3:核心计算逻辑
# 提取所有列的唯一前缀(即列名中'-'前面的部分,如A、G、F) prefixes = set(col.split('-')[0] for col in df.columns) # 遍历每个前缀,计算对应open和close列的和赋值给total列 for p in prefixes: df[f'{p}-total'] = df[f'{p}-open'] + df[f'{p}-close']
结果验证
执行后输出print(df)即可得到你预期的结果:
| A-open | A-close | A-total | G-open | G-close | G-total | F-open | F-close | F-total |
|---|---|---|---|---|---|---|---|---|
| 1 | 4 | 5 | 3 | 5 | 8 | 8 | 2 | 10 |
该写法不需要硬编码所有前缀,后续新增其他前缀的列(如B-open、B-close等)也可以自动适配计算。
内容的提问来源于stack exchange,提问作者SA12
相关产品推荐
相关产品推荐

