python - 组合多个值和排序
问题描述
我有以下详细的发票数据。
+------------+---------------+--------+-----+-------+------------+-------------+
| Invoice No | Invoice Total | Item # | qty | price | Item Total | Inventory # |
+------------+---------------+--------+-----+-------+------------+-------------+
| 1 | 42 | 123 | 1 | 10 | 10 | 0 |
| 1 | 42 | 234 | 2 | 12 | 24 | 10 |
| 1 | 42 | 345 | 1 | 8 | 8 | 0 |
| 2 | 224 | 123 | 3 | 10 | 30 | 4 |
| 2 | 220 | 234 | 2 | 12 | 24 | 3 |
| 2 | 220 | 345 | 8 | 1 | 8 | 0 |
| 2 | 220 | 456 | 10 | 12 | 120 | 2 |
| 2 | 220 | 567 | 7 | 6 | 42 | 4 |
| 3 | 34 | 123 | 1 | 10 | 10 | 10 |
| 3 | 34 | 234 | 2 | 12 | 24 | 0 |
| 4 | 30 | 123 | 1 | 10 | 10 | 0 |
| 4 | 30 | 234 | 2 | 12 | 24 | 3 |
+------------+---------------+--------+-----+-------+------------+-------------+
对于每个独特的个体Invoice No
,我想Inventory #
用连接和排序的值连接 & 替换列(从左到右升序)。还应删除任何重复的值。例如。Invoice No - 2
已经Inventory # - 4
重复了两次。
我想要的结果如下
+------------+---------------+--------+-----+-------+------------+-------------+
| Invoice No | Invoice Total | Item # | qty | price | Item Total | Inventory # |
+------------+---------------+--------+-----+-------+------------+-------------+
| 1 | 42 | 123 | 1 | 10 | 10 | 0,10 |
| 1 | 42 | 234 | 2 | 12 | 24 | 0,10 |
| 1 | 42 | 345 | 1 | 8 | 8 | 0,10 |
| 2 | 224 | 123 | 3 | 10 | 30 | 0,2,3,4 |
| 2 | 220 | 234 | 2 | 12 | 24 | 0,2,3,4 |
| 2 | 220 | 345 | 8 | 1 | 8 | 0,2,3,4 |
| 2 | 220 | 456 | 10 | 12 | 120 | 0,2,3,4 |
| 2 | 220 | 567 | 7 | 6 | 42 | 0,2,3,4 |
| 3 | 34 | 123 | 1 | 10 | 10 | 0,10 |
| 3 | 34 | 234 | 2 | 12 | 24 | 0,10 |
| 4 | 30 | 123 | 1 | 10 | 10 | 0,3 |
| 4 | 30 | 234 | 2 | 12 | 24 | 0,3 |
+------------+---------------+--------+-----+-------+------------+-------------+
请指导我解决这个问题..
解决方案
我会的transform
,set
会删除重复的并排序,然后只需要join
df['Inventory #']=df.groupby('Invoice No')['Inventory'].\
transform(lambda x : ','.join(set(x.astype(str))))
推荐阅读
- python - 线性回归训练/形状输出不正确
- node.js - 在我的 React 应用程序中实现一个功能,用户可以将我的产品添加到他们的 Shopify 商店
- angular - 通过引用调用函数
- sql-server - 在 SQL Server 中更改主键列的列长度
- c# - 如何检测应用程序是否在任务视图中?UWP C#
- c# - SHA256 是否被认为不安全?- SonarQube 质量门 - 我该如何解决?
- javascript - 节点步骤的边缘未在 react-flow-renderer 中呈现
- excel - 使用 Excel VBA/Selenium,创建了 Insta 关注机器人,我认为它会在前 50 次关注后被 Insta 捕获,有什么意见,用于学习目的吗?
- reactjs - React 服务器端渲染无法导入 jsx 文件
- java - 如何实例化从具有任何类型的 ArrayList 扩展的类?