我有数千个Pandas数据框df
,每个数据框都有1.2亿行,长这样:
a b c d e
111 10 100 200 300 james
112 11 110 210 310 june
112 11 140 210 312 dune
234 12 120 220 333 dane
重复的索引是自定义索引112。我想保留'b'列的最大值所在的行以及自定义索引'112'。因此输出应如下所示:
a b c d e
111 10 100 200 300 james
112 11 140 210 312 dune
234 12 120 220 333 dane
这该怎么以高效的方式来完成,既能节省内存又能提高速度?
df.set_index('1st Column', inplace=True)
即可按照该答案进行操作。对于@L'Artiste的答案,您不需要执行reset_index
,只需执行df.groupby('1st Column').max()
即可。因此,您可以将您喜欢的答案标记为正确 :) - user16836078dask
包来处理非常大的数据。代码将非常相似。请参见 https://docs.dask.org/en/latest/dataframe.html - user16836078