gpt4 book ai didi

python - 使用 pandas 中的 chunksize 参数提取每个值的基本计数

转载 作者:太空宇宙 更新时间:2023-11-04 01:14:39 24 4
gpt4 key购买 nike

我有一个包含以下类别的 CSV 文件:item1item2item3item4 其中值恰好是以下之一:0,1,2,3,4。我想为每个项目计算每个值有多少。我的代码如下,df是对应的DataFrame:

outputDf = pandas.DataFrame()
cat_list = list(df.columns.values)
for col in cat_list:
s = df.groupby(col).size()
outputDf[col] = s

当我使用 read_csv 读取我的 CSV 时,我想使用 chunksize 参数做完全相同的事情,因为我的 CSV 非常大。我的问题是:我找不到找到 cat_list 的方法,也找不到构建 outputDf 的方法。

有人可以给我提示吗?

最佳答案

我会按列应用 value_counts 而不是 groupby:

>>> df = pd.read_csv("basic.csv", usecols=["item1", "item2", "item3", "item4"])
>>> df.apply(pd.value_counts)
item1 item2 item3 item4
0 17 26 17 20
1 21 21 22 19
2 17 18 22 23
3 24 14 20 24
4 21 21 19 14

对于分块版本,我们只需要组装零件(确保 fillna(0) 这样如果零件没有 3,例如,我们得到 0 和不是 nan。)

>>> df_iter = pd.read_csv("basic.csv", usecols=["item1", "item2", "item3", "item4"], chunksize=10)
>>> sum(c.apply(pd.value_counts).fillna(0) for c in df_iter)
item1 item2 item3 item4
0 17 26 17 20
1 21 21 22 19
2 17 18 22 23
3 24 14 20 24
4 21 21 19 14

(当然,在实践中您可能希望使用尽可能大的 chunksize。)

关于python - 使用 pandas 中的 chunksize 参数提取每个值的基本计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25428661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com