Python 在DataFrame上为海量数据集使用str.split(expand=True)
我正在处理一个数据集,它是从.txt类型的文件中以数据帧的形式读入的,~80000000-100000000行 此数据帧作为单列读入,其中我必须使用df[column\u name].str.split(expand=True)来展开每个值。这将为一组空白之间的每个值提供一个唯一的列 该数据集的一个警告是,读入该单列的值的数量可能不同,但如果有任何值“丢失”,则从序列的末尾开始丢失,而不是介于两者之间 例如:Python 在DataFrame上为海量数据集使用str.split(expand=True),python,python-3.x,string,pandas,dataframe,Python,Python 3.x,String,Pandas,Dataframe,我正在处理一个数据集,它是从.txt类型的文件中以数据帧的形式读入的,~80000000-100000000行 此数据帧作为单列读入,其中我必须使用df[column\u name].str.split(expand=True)来展开每个值。这将为一组空白之间的每个值提供一个唯一的列 该数据集的一个警告是,读入该单列的值的数量可能不同,但如果有任何值“丢失”,则从序列的末尾开始丢失,而不是介于两者之间 例如: df_in 0 0 123 203 113 32 1 555 22 155
df_in
0
0 123 203 113 32
1 555 22 155
2 670 12
然后使用df_out=df_in['0'].str.split(expand=True)
问题是,在我得到这些巨大的数据集之前,这种方法一直运行良好,在那里我遇到了MemoryError
问题
有没有办法处理这些较大的数据集?也许使用多重处理
需要注意的是,保持数据帧的索引很重要。请至少共享部分数据,以及更多程序(请参阅:)。很可能有一种方法可以解决这个问题。为什么不先在读取文本文件时将行拆分为列呢?
df_out
0 1 3 4
0 123 203 113 32
1 555 22 155 None
2 670 12 None None