我有一个大的csv文件,大约600mb,有1100万行,我想创建像枢轴,直方图,图形等统计数据.显然,我只想正常阅读它:
df = pd.read_csv('Check400_900.csv', sep='\t')
不起作用所以我发现迭代和chunksize在类似的帖子,所以我用
df = pd.read_csv('Check1_900.csv', sep='\t', iterator=True, chunksize=1000)
一切都很好,我可以打印df.get_chunk(5)并用刚搜索整个文件
for chunk in df:
print chunk
我的问题是我不知道如何在整个df中使用下面这些东西,而不仅仅是一个块
plt.plot()
print df.head()
print df.describe()
print df.dtypes
customer_group3 = df.groupby('UserID')
y3 = customer_group.size()
我希望我的问题不那么令人困惑
解决方法:
解决方案,如果需要创建一个大的DataFrame,如果需要一次处理所有数据(可能的,但不是recommended):
df = pd.read_csv('Check1_900.csv', sep='\t', iterator=True, chunksize=1000)
不是数据帧,而是pandas.io.parsers.TextFileReader – source.
tp = pd.read_csv('Check1_900.csv', sep='\t', iterator=True, chunksize=1000)
print tp
#<pandas.io.parsers.TextFileReader object at 0x00000000150E0048>
df = pd.concat(tp, ignore_index=True)
我认为有必要将参数ignore index添加到函数concat中,因为避免了索引的重复性.
编辑:
但是如果想要使用聚合这样的大数据,那么使用dask
要好得多,因为它提供了高级并行性.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。