Python Dataframe合并问题
用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相加呢?
相关阅读:
vue v-for 为元素添加点击事件的时候怎么才能处理当前dom元素?
Echarts雷达图可以添加顶点么?
求教前端开发如何兼容safari
如何在linux中查找指定列表中的文件
python变量起别名问题
使用react router后怎样将父组件的数据传递到子组件中
渲染 mysql查询到的数据,中文乱码怎么解决?
react 异步怎么返回 Immutable 数据?
Android 的UP事件和最后一个MOVE事件所拿到的点是相同的
V-model绑定数组的时候为啥会不能更新?
for循环中异步转同步如何改造?
onbeforeunload事件粗发问题?
gitbook生成的图书中,表格内不能使用markdown语法?
如何用纯CSS将图片填满div,自适应容器大小,已有两个不太完善的方案
Git 怎么添加多个远程仓库呢?
swift closure 参数的写法,不太明白?
react中import normalize.css报错
node_modules不上传服务器导致网页无法打开,提示找不到对应的模块
下面加载的都是哪的文件呀?
angular里的ui-view里,获取当前页面的状态参数用$state.params,在vue里类似的语法是什么呢?