【发布时间】:2021-08-16 05:37:25
【问题描述】:
我正在尝试查找行的唯一组合并将count 列作为int 引入。我们的想法是找到以下数据的唯一组合总数(最好在新数据框中)
| id | cat_1 | cat_2 | cat_3 | cat_4 |
|---|---|---|---|---|
| 001 | Chips | Null | Null | Null |
| 789 | Chips | Avocado | Null | Null |
| 002 | Chips | Pasta | Null | Null |
| 323 | Chips | Pasta | Null | Null |
| 123 | Chips | Pasta | Cheese | Null |
| 456 | Chips | Sauce | Cheese | Null |
| 101 | Pasta | Null | Null | Null |
| 231 | Pasta | Null | Null | Null |
| 321 | Pasta | Bread | Null | Null |
| 212 | Pasta | Bread | Null | Null |
| 632 | Pasta | Cheese | Null | Null |
我正在想象数据看起来像这样:
| id | cat_1 | cat_2 | cat_3 | cat_4 | count |
|---|---|---|---|---|---|
| 0 | Chips | Null | Null | Null | 1 |
| 1 | Chips | Pasta | Null | Null | 2 |
| 2 | Chips | Pasta | Cheese | Null | 1 |
| 4 | Chips | Sauce | Cheese | Null | 1 |
| 5 | Chips | Avocado | Null | Null | 1 |
| 6 | Pasta | Null | Null | Null | 2 |
| 7 | Pasta | Bread | Null | Null | 2 |
| 8 | Pasta | Cheese | Null | Null | 1 |
我想我可以使用类似下面的东西,但是我的数据实际上有多达七个 cat_7,并且不确定这是否是正确的方法
df1.groupby(['cat_1','cat_2', 'cat_3', 'cat_4']).size().reset_index().rename(columns={0:'count'})
我怎样才能把它变成格式?
【问题讨论】:
标签: pandas dataframe combinations