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并不难,总结全部。你能意识到吗? –