python - Groupby和组合在熊猫数据框中
问题描述
我有一个看起来像这样的数据框 -name,count
存在strings
和id
成为int
.
姓名 | 数数 | ID |
---|---|---|
美国广播公司 | 123 | 01122 |
美国广播公司 | 123 | 55432 |
美国广播公司 | 123 | 33432 |
美国广播公司 | 123 | 34786 |
xyz | 232 | 36126 |
xyz | 232 | 67437 |
使用熊猫 - 我正在尝试获得类似的东西
姓名 | 数数 | ID |
---|---|---|
美国广播公司 | 123 | 01122,55432,33432,34786 |
xyz | 232 | 36126,67437 |
我认为像下面这样的东西会起作用 - 但它似乎并没有真正加入列表。
df.groupby(['name','count'])['id'].apply(lambda x: ','.join(map(str, x))).reset_index()
解决方案
使用astype()
+ groupby()
+ agg()
:
out=df.astype({'id':'str'}).groupby(['name','count'],as_index=False)['id'].agg(','.join)
#df.groupby(['name','count'],as_index=False)['id'].agg(lambda x: ','.join(map(str, x)))
输出:
name count id
0 abc 123 1122,55432,33432,34786
1 xyz 232 36126,67437
推荐阅读
- vuejs2 - vuejs vue-router:TypeError:无法读取未定义的属性“推送”
- r - Update.train 从插入符号生成错误长度的向量预测
- php - 为什么 PDO fetch() 只返回第一行?
- serial-port - 在 Scilab consol 上复制 Arduino 的串行监视器
- db2 - DB2 连接到没有目录的远程数据库?
- php - 在php中确定什么是土地和什么是水
- javascript - 这种类似 JSON 的数据格式是什么?
- graphql - 将查询/变异操作记录到数据库以进行审计
- c# - Microsoft Graph .Net API:共享 OneDrive 文件夹
- java - 用于检索 csrf 令牌的内置方法