用熊猫通过唯一索引过滤大数据帧

问题描述 投票:0回答:1

我有一个3000万行乘30列的数据框,我想通过使用唯一索引列表进行过滤。

基本上input将是:

df = pd.DataFrame({'column':[0,1,2,3,4,5,6,7,8,9,10]})
indices = [1, 7, 10]

df_filtered = df[df.index.isin(indices)]

其中输出为:

df_filtered

column
1
7
10

[这在'可管理'的数据帧中很好用,但是当尝试将(30,000,000,30)数据帧与约33,000个唯一索引列表匹配时,我会遇到本地MemoryError

有没有办法使这个过程并行化或更有效地将其分解成一部分?

python python-3.x pandas dataframe out-of-memory
1个回答
2
投票

实际答案取决于您要对DataFrame进行的处理,但是遇到内存错误时,通常的想法是分块进行操作。

© www.soinside.com 2019 - 2024. All rights reserved.