pandas 重复行去除,列值合并怎么做?

发布于 2022-09-12 01:13:46 字数 191 浏览 18 评论 0

微信截图_20191127173401.png

city 列 chongqing 重复了,
但是population 列值比一样,
怎么可以做到合并一行,然后把population列两个不同的值存储到一个一列中?

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

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

发布评论

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

评论(3

杀お生予夺 2022-09-19 01:13:46
df.astype(str).groupby(['year','city'], as_index=False).agg(list).eval("population = population.str.join(',')")
芸娘子的小脾气 2022-09-19 01:13:46

这样咩~

frame.groupby(['year', 'city'], sort=False)['population'].sum().reset_index()

   year       city  population
0  2016    Beijing        2100
1  2016   Shanghai        2300
2  2015  Guangzhou        1000
3  2017   Shenzhen         700
4  2016  Chongqing         300
虐人心 2022-09-19 01:13:46

import pandas as pd

data = {'year':[2012,2013,2014,2015,2015],
        'city':['A','A','B','C','C'],
        'pop':[1,2,3,4,5]}

frame = pd.DataFrame(data,columns=['year','city','pop'])
groups = frame["pop"].groupby([frame["year"],frame["city"]])

year = []
city = []
pop = []

for i in groups:
    print(i)
    year.append(i[0][0])
    city.append(i[0][1])
    temp = []
    for j in i[1].values:
        temp.append(j)
    pop.append(temp)
        
d = {'a':year,'b':city,'c':pop}
da = pd.DataFrame(d)

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