Pandas 根据一些NaN值拆分大型csv文件

Pandas 根据一些NaN值拆分大型csv文件,pandas,csv,Pandas,Csv,有一个巨大的文件,几乎达到1000万行,我想根据给定列的值对其进行拆分。一个表示内部测量值(房子内部),另一个表示外部数据(房子外部)。这个代码需要很长时间才能拆分,有什么想法吗 fext = open('external.csv', 'a') fint = open('internal.csv', 'a') for df in pd.read_csv('todo.csv', parse_dates=['Measured At'], low_memory=

有一个巨大的文件,几乎达到1000万行,我想根据给定列的值对其进行拆分。一个表示内部测量值(房子内部),另一个表示外部数据(房子外部)。这个代码需要很长时间才能拆分,有什么想法吗

fext = open('external.csv', 'a')
fint = open('internal.csv', 'a')

for df in pd.read_csv('todo.csv', parse_dates=['Measured At'], 
                  low_memory=False, chunksize=500000):
    dfExt = df[df['Temperatura Exterior'].notnull()]
    dfInt = df[df['Temperatura Exterior'].isnull()]
    dfExt.to_csv(fext,header=False)
    dfInt.to_csv(fint,header=False)

fext.close();fint.close()    

根据您的描述,听起来您根本不需要for循环。一个简单的df=pd.read_csv(…)就足够了。我无法将一个10M行文件加载到内存中。此外,根据一个变量是否为NaN,需要将其拆分为两个文件。到目前为止,你能装载任何东西吗?每次通行需要多长时间?如果要立即保存数据,是否确实需要使用parse_dates?你也许可以在没有约会的情况下获得一些加速。谢谢,利奥,你说得对。我不需要date列作为日期,直到在分析的晚些时候。我跳过了它,代码运行速度快了25倍!!我现在可以在大约一分钟内阅读整个文件,而不是大约半小时。