上一篇文章的延續。以前,我曾幫助使用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輸出使用熊貓的功能? –