从更大的fi分析一列

2024-10-02 00:38:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用熊猫。我试图从一个大文件中读入一列名字。这个文件总共是35GBs,这让我的内核死掉了。所以我只想读一篇专栏文章。然后我想要“块”这个数据,这样内核就不会死。由此,我需要得到每个名字的总和,并找到计数最高的名字。以下是有用的:

import pandas as pd

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

要从主文件导入的列名:

'seller_company_name'

Tags: 文件csv数据importpandasdataas文章
2条回答

有时候你最好只用命令行

如果您可以访问类unix的环境,那么grep/sed/awk/cut就是为这个环境构建的,因为它们处理流

here for an example

另一种方法是拆分csv并对其进行批处理(以“,”分隔第一个零索引列)

cat some.csv | cut -d, -f1 | sort | uniq -c

要只在一列中读取,请使用关键字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.组然后是一个dict,其中包含每个卖方的发生索引列表。把它变成一个有以下列表长度的dict:

result = {d: len(grpd.groups[d]) for d in grpd.groups}

相关问题 更多 >

    热门问题