我有一个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
。
有没有办法使这个过程并行化或更有效地将其分解成一部分?
实际答案取决于您要对DataFrame进行的处理,但是遇到内存错误时,通常的想法是分块进行操作。