分析较大文件中的一列

时间:2018-04-25 19:05:32

标签: python pandas

我正在使用熊猫。我试图从一个更大的文件中读取一列名称。这个文件总共是35GB,这让我的内核死了。所以我想阅读其中一篇专栏文章。然后我会喜欢" chunk"这个数据,所以内核不会死。从那里,我需要按名称得到总和并找到具有最高计数的名称。这可能是有用的:

import pandas as pd

data = pd.read_csv("/Users/Desktop/EQR_Data/EQR_Transactions_1.csv", low_memory=False)

我想从我的主文件导入的列名:

'seller_company_name'

2 个答案:

答案 0 :(得分:0)

有时您只需使用命令行

就可以了

如果您可以访问类似unix的环境,那么就像使用流来构建grep / sed / awk / cut一样

请参阅here for an example

另一种方法是拆分你的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}