Python Dataframe合并问题

发布于 2022-09-04 02:07:15 字数 818 浏览 19 评论 0

用Pandas读取一个七百万条记录的微博爬虫文件,大小约1G。直接读入内存不足,于是采用chunksize=100000来分批读取。每个chunk的数据处理后得到count长这样:

            daysCount  tweetsSum
userID                          
1294588034          5        305
2277435630          4        284
1985258823          6        265
1886370740          7        265
...               ...        ...

之后我尝试把这些dataframe合并,代码如下:

count_list=[]
for chunk in data:
    ...
    count_list.append(count)
       
total_count = pd.concat(count_list, axis=0)
print(total_count.sort_value(by=['tweetsSum'],ascending=False))

结果发现汇总后的数据总是小于真正的数据量,不管是daysCount还是tweetsSum都是。而且调高chunksize,这两个值也会提高。
于是我猜想在concat的时候,遇到userID相同的,它只会取daysCount和tweetsSum的最大值,而不是值相加。
如果是这样的问题的话,那么该怎么合并dataframe,能让碰到userID相同的时候,让daysCount和tweetsSum相加呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哆啦不做梦 2022-09-11 02:07:15

我后来解决了这个问题 两个dataframe合并 如果希望索引值相同的两个记录对应值相加的话 应该使用add函数 而不是concat

哑剧 2022-09-11 02:07:15

concat函数是纯粹的叠dataframe,应该不会有取大小值的逻辑,而是重复index

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文