我有一个如下所示的数据帧:
df
id d1 d2 d3 a1 a2 a3
0 474 0.000243 0.000243 0.001395 bank bank atm
1 964 0.000239 0.000239 0.000899 bank bank bank
2 4823 0.000472 0.000472 0.000834 fuel fuel fuel
3 7225 0.002818 0.002818 0.023900 bank bank fuel
4 7747 0.001036 0.001036 0.001415 dentist dentist bank
我想选择d1
、d2
和d3
之间的最小值,以及相应的a1
、a2
或a3
df
id d a
0 474 0.000243 bank
1 964 0.000239 bank
2 4823 0.000472 fuel
3 7225 0.002818 bank
4 7747 0.001036 dentist
如果要按列表选择列按^{} 获取列名,请重命名列,然后对新列使用^{} 中的^{} :
@yatu的解决方案是这里的动力——在我看到从宽到长的任何地方,我都会测试多索引上的堆栈是否适合:):
您可以在这里使用^{} 来获取长格式的数据帧,并将} :
[d,a]
指定为stubname。然后按id
分组,索引取d
的^{其中,以上面的
pd.wide_to_long
表示数据帧为:我们只需要在
id
中分组并找到最小值的索引相关问题 更多 >
编程相关推荐