【发布时间】:2020-01-20 08:19:02
【问题描述】:
我正在尝试为一个大尺寸的 csv 文件创建一个字典文件,该文件被分成要处理的块,但是当我创建字典时它只是为一个夹头做它,当我尝试附加它时它将 epmty 数据帧传递给新的 df。这是我使用的代码
wdata = pd.read_csv(fileinput, nrows=0,).columns[0]
skip = int(wdata.count(' ') == 0)
dic = pd.DataFrame()
for chunk in pd.read_csv(fileinput, names=['sentences'], skiprows=skip, chunksize=1000):
dic_tmp = (chunk['sentences'].str.split(expand=True).stack().value_counts().rename_axis('word').reset_index(name='freq'))
dic.append(dic_tmp)
dic.to_csv('newwww.csv', index=False)
如果我保存的 dic_tmp 只是一个块的字典而不是整个集合,并且 dic 需要大量时间来处理但最后返回空数据帧,我的代码有什么错误吗?
输入 csv 就像
输出 csv 就像
预期的输出应该是
所以它不会将块添加在一起,它只是粘贴新块,无论前一个块或 csv 中有什么。
【问题讨论】:
-
对不起,你真的应该谨慎使用 python 术语(例如“字典”)。您在这里所做的是数据帧的分块处理,您将这些数据帧重新合并到一个单独的 DF 中。您能否提供一个您正在加载的表格的示例?
-
@OlegO 我添加了一些例子希望你现在能更好地理解我
标签: python pandas csv chunking