大熊猫在巨大的csv的每一列中找到许多独特的元素

唐贝

我有一个大约10 GB的巨大csv文件,如果尝试加载到内存中会收到错误消息。

我需要为数据框的每一列计算唯一元素的数量。我怎样才能做到这一点?

埃德·楚姆

您可以依次加载每个col,然后致电.nunique

In [227]:

import io
t="""a,b,c
0,1,1
0,2,1
1,3,1
2,4,1
3,5,6"""
# get the columns first
cols = pd.read_csv(io.StringIO(t), nrows=1).columns
​
d = {}
for col in cols:
    df = pd.read_csv(io.StringIO(t), usecols=col)
    d[col] = df[col].nunique()
d
Out[227]:
{'a': 4, 'b': 5, 'c': 2}

然后应该为每列生成唯一值数量的字典

假设您可以一次从10GB文件中加载一列

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在列与occurence的在同一列在Excel / SQL /大熊猫频率替换值

大熊猫CONCAT()不参加在同一列

大熊猫根据特殊要求拆分一列

合并后组的列的多个值由到在python大熊猫一列

大熊猫。试图条件,但代码删除行与另一列替换列

在大熊猫另一列的基础上创建新列

大熊猫将一列映射到两列的组合

大熊猫:将一列中的列表转换成单独的列

大熊猫:从另一列修改数据框中的值

大熊猫:如何找到一列中每个类别的最大n值

Python大熊猫使用Dict映射将格式化应用于数据框中的每一列

如果满足条件,大熊猫会创建一列等于另一列

大熊猫用另一列替换一部分列

大熊猫:在定界符上拆分一列,并获取唯一值

大熊猫:将多列映射到一列

大熊猫分配列值取决于df中的另一列

大熊猫将每一行和每一列中的数字转换为单词

在熊猫的另一列中找到列的每一行的索引

大熊猫:将一列设为水平轴

在大熊猫中找到第二最早的时间

根据布尔值将多列合并为大熊猫中的一列

大熊猫为每列添加新的“等级”列

如何在列参数超过一列的大熊猫中进行转播

Python,大熊猫根据停止条件找到每一行的长度

熊猫在df1中找到每一行,其中df2与任一列匹配

将大熊猫数据框的每一列与同一数据框的其他每一列相乘的最有效方法

大熊猫在另一列中获得最高频率值

大熊猫从多个列中找到最近的变量索引

在单个文件的每一列中找到公共行