上一篇文章的延续。以前,我曾帮助使用Pandas在数据框中创建新列,并且每个值都会根据另一列的值表示分解值或唯一值。我在一个测试用例上使用了它,并且它可以成功运行,但是我有一个更大的日志和htm文件来执行相同的过程。我有12个日志文件(每个月),并将它们合并后,我得到一个17Gb文件。我想分解每个用户名。我一直在研究使用Dask,但是,我无法复制排序的功能并将因数分解为我想要的Dask数据帧。尝试使用Dask,继续使用熊猫还是尝试使用MySQL数据库来操作17GB文件会更好吗?熊猫大CSV
import pandas as pd
import numpy as np
#import dask.dataframe as pf
df = pd.read_csv('example2.csv', header=0, dtype='unicode')
df_count = df['fruit'].value_counts()
df.sort_values(['fruit'], ascending=True, inplace=True)
sorting the column fruit
df.reset_index(drop=True, inplace=True)
f, u = pd.factorize(df.fruit.values)
n = np.core.defchararray.add('Fruit', f.astype(str))
df = df.assign(NewCol=n)
#print(df)
df.to_csv('output.csv')
你可能要考虑PySpark:http://spark.apache.org/docs/2.1.0/api/python/pyspark.html – Tim
是否有可能启动与熊猫或Dask一起出去,只是在Dask输出使用熊猫的功能? –