【发布时间】:2021-07-06 15:39:24
【问题描述】:
我有一张如下表:
group shopspend clothspend foodspend music spend
A 1 2 12 34
B 1 2 12 34
C 1 2 12 34
d 1 2 12 34
我的原始框架中有更多的列。我如何返回(对于每个组,所以按行)每行前 3 个最低和前 3 个最高并返回相应的列值? 注意:group 是一个索引:
df = df.set_index('group')
df.apply(lambda x: df.columns[np.argsort(x)], 1).iloc(axis=0)[:, :3]
上面试过,但它说 IndexingError: Too many indexers.. 不知道如何获得每行的最高和最低 3 列..
【问题讨论】:
标签: python-3.x pandas dataframe