在 Pandas 数据框中生成一个新列,指示具有积极结果的列

问题描述 投票:0回答:1

我有一个看起来像这样的数据框:

ID   f_1   f_2   f_3
1    1     0     1
2    0     1     1
3    1     1     0
4    1     0     1
5    0     1     1   

我完全不知道如何开始。而且我的原始数据帧相当大(约 1M 行),因此非常感谢快速方法。

并且我想生成一个新列

Result
来记录其中有 1 的一对
f
,即

ID   f_1   f_2   f_3   Result
1    1     0     1     1_3
2    0     1     1     2_3
3    1     1     0     1_2
4    1     0     1     1_3
5    0     1     1     2_3
pandas dataframe
1个回答
0
投票

您可以使用点积:

tmp = df.drop(columns='ID')
df['Result'] = (tmp @ tmp.columns.str.replace('^f', '', regex=True)).str[1:]
© www.soinside.com 2019 - 2024. All rights reserved.