这有点复杂,但我会展示我的数据。
我构建了以下数据框:
我构建了以下数据框:
Mid_XYZ Mid_YYY Mid_ZZZ Select1 Select2
867 1019.11 1027.64 1022.68 XYZ YYY
873 1018.04 1027.58 1022.81 XYZ ZZZ
我希望能够根据Select1
和Select2
字符串选择列中的值,并通过匹配部分列名来实现。 在第一行中,这将是1019.11
和1027.64
(列 Mid_XYZ
和 Mid_YYY
)- 因为Select1
具有字符串 XYZ
,而Select2
具有字符串 YYY
。
在第二行中,则是1018.04
和1022.81
(列 Mid_XYZ
和 Mid_ZZZ
)。
稍后,我计划将这些值的总和存储在新的列中。数据框将看起来像这样:
Mid_XYZ Mid_YYY Mid_ZZZ Select1 Select2 Sum
867 1019.11 1027.64 1022.68 XYZ YYY 2046.75
873 1018.04 1027.58 1022.81 XYZ ZZZ 2040.85
我可以将列名更改为完全匹配,但是否有一些使用正则表达式的解决方案呢?我知道df.filter(regex='XYZ')
,但如何逐行执行该操作?