我有一个如下数据框:
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
,记录f
其中包含 1 的一对,即
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
您可以在使用/
dot
重命名列后使用产品:str.replace
str.removeprefix
另外,还有一个更经典的 pandas 方法(速度慢得多),包括重塑(
melt
)、过滤(使用query
)和groupby.agg
:或者使用
stack
:输出:
时间安排
在 20K 行上:
在 1M 行上: