我有一个看起来像这样的数据框:
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
您可以使用点积:
tmp = df.drop(columns='ID')
df['Result'] = (tmp @ tmp.columns.str.replace('^f', '', regex=True)).str[1:]