【发布时间】:2018-03-24 04:03:51
【问题描述】:
当我尝试分块添加列和修改标题名称等时,我收到错误“TypeError: 'TextFileReader' object does not support item assignment”。
我的问题是我正在使用一台运行缓慢的笔记本电脑来处理一个非常大的文件(1000 万行)。我想添加一些简单的列(1 或 0 值),连接两列以创建唯一 ID,更改其他列的 dtype,并重命名一些标题,以便它们与我稍后将 .merge 的其他文件匹配。我可能会拆分这个 csv(可能选择日期范围并制作单独的文件),但我想学习如何使用 chunksize 或处理大文件,而不会遇到内存问题。是否可以分块修改文件,然后将它们全部连接在一起?
我正在清理原始数据,然后将其加载到 Tableau 中进行可视化。
示例(读取/修改 1000 万行):
> rep = pd.read_csv(r'C:\repeats.csv.gz',
> compression = 'gzip', parse_dates = True , usecols =
> ['etc','stuff','others','...'])
> rep.sort()
> rep['Total_Repeats'] = 1
> rep.rename(columns={'X':'Y'}, inplace = True)
> rep.rename(columns={'Z':'A'}, inplace = True)
> rep.rename(columns={'B':'C'}, inplace = True)
> rep['D']= rep['E'] + rep['C']
> rep.rename(columns={'L':'M'}, inplace = True)
> rep.rename(columns={'N':'O'}, inplace = True)
> rep.rename(columns={'S':'T'}, inplace = True)
【问题讨论】:
-
你目前做得怎么样?能否提供一些示例模式?
-
用一个例子编辑了我的帖子。