我正在使用熊猫。我试图从一个更大的文件中读取一列名称。这个文件总共是35GB,这让我的内核死了。所以我想阅读其中一篇专栏文章。然后我会喜欢" chunk"这个数据,所以内核不会死。从那里,我需要按名称得到总和并找到具有最高计数的名称。这可能是有用的:
import pandas as pd
data = pd.read_csv("/Users/Desktop/EQR_Data/EQR_Transactions_1.csv", low_memory=False)
我想从我的主文件导入的列名:
'seller_company_name'
答案 0 :(得分:0)
有时您只需使用命令行
就可以了如果您可以访问类似unix的环境,那么就像使用流来构建grep / sed / awk / cut一样
另一种方法是拆分你的csv并批量处理(由'分隔,'取第一个零索引列)
cat some.csv | cut -d, -f1 | sort | uniq -c
答案 1 :(得分:-1)
只需在一列中阅读,请使用关键字usecols
:
data = pd.read_csv("/Users/Desktop/EQR_Data/EQR_Transactions_1.csv", usecols=['seller_company_name'])
然后您可以groupby
卖家名称:
grpd = df.groupby('seller_company_name')
在grpd.groups中是一个dict,其中包含每个卖家的出现指数列表。把它变成一个带有这些列表长度的字典:
result = {d: len(grpd.groups[d]) for d in grpd.groups}