python3.x - Python Dataframe合并问题
阿神
阿神 2017-04-18 09:50:14
0
2
394

用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相加呢?

阿神
阿神

闭关修行中......

membalas semua (2)
伊谢尔伦

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

    迷茫

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

      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!