1
我正在處理一個大的csv文件(超過4GB)。如何在大熊貓中調用大塊描述函數?
所以我要對大熊貓的塊(內存泄漏)
工作,但我不知道如何把描述(計數,最小值,最大值,百分位,...)全部數據。
請給我這個問題的一些建議
非常感謝。
我正在處理一個大的csv文件(超過4GB)。如何在大熊貓中調用大塊描述函數?
所以我要對大熊貓的塊(內存泄漏)
工作,但我不知道如何把描述(計數,最小值,最大值,百分位,...)全部數據。
請給我這個問題的一些建議
非常感謝。
比方說,你有一個CSV文件,你可以做這樣的事情:
import pandas as pd
nr_chunk_size = 10
summary = []
df = pd.read_csv('your_file.csv', iterator=True, chunksize=nr_chunk_size)
for chunck in df:
summary.append(chunck.describe().values)
之後,你需要聚集summary
列表。計數應該很容易,你只需要總結一下,例如,
count = sum([summary[i][0][0] for i in range(len(summary))])
,最低和最高,你需要創建所有的號碼列表,並採取最小數量,
minimum = min([summary[i][3][0] for i in range(len(summary))])
maximum = max([summary[i][7][0] for i in range(len(summary))])
對於百分位,有點難度,因爲您不會將整個數據集放入其中。你可以取一個近似值的平均值。
百分位的平均值不是真實百分位數的近似值。你能有更好的解決方案嗎?我知道你的解決方案的數量,最大值,最小值,但它確實不方便 –
這不是一個真正的近似值;)我只需要一個措辭。如果你已經知道count,max和min的解決方案,爲什麼不在你的問題中寫這個...... –
因爲,我認爲這不是很好。我想找到解決方案來繼承內置的至少描述代碼。我認爲我的代碼不太好。對每個塊使用sum/max/min並不難,總結全部。你能意識到嗎? –