假设我们有这个样本数据。你知道吗
| mem_id | main_title | sub_title |
-----------------------------------
| 1 | 1 | 1 |
| 10 | 3 | 2 |
| 3 | 3 | 2 |
| 45 | 1 | 2 |
| 162 | 2 | 2 |
...
1)数据汇总
可能有重复,就像一个mem\u id可以有多个case of(1:main,1:sub)
2)问题
我想用python生成R table函数result。你知道吗
R表函数的结果是这样的。 我可以从所有的主标题和副标题中做出各种可能的组合。 还可以通过mem\u id获取每个案例的计数
count.data <- table(data$mem_id, data$main_title, data$sub_title)
count.table <- as.data.frame(count.data)
===============================================
mem_id main_title sub_title value
1 1 1 1 0
2 2 1 1 0
3 3 1 1 0
4 4 1 1 0
5 5 1 1 0
6 6 1 1 0
7 7 1 1 0
.
.
.
我试着用Python得到这个结果,下面的结果就是我目前得到的结果。你知道吗
cross_table1 = pd.melt(data, id_vars=['main_title ', 'sub_title'], value_vars='mem_id', value_name='mem_id')
==================================================
main_title sub_title variable mem_id
1 1 1 mem_id 10
2 1 1 mem_id 10
3 3 1 mem_id 10
4 4 2 mem_id 10
5 1 4 mem_id 132
6 4 1 mem_id 65
7 4 3 mem_id 88
.
.
.
cross_table2 = cross_table1.pivot_table(index=['main_title ', 'sub_title', 'mem_id'], values='variable', aggfunc='count')
cross_table32.reset_index().sort_values('value')
==============================================
main_title sub_title mem_id value
1 1 1 1 4
2 1 1 2 3
3 3 1 3 1
4 4 2 3 10
5 1 4 3 2
6 1 1 4 5
7 3 2 5 2
.
.
.
我认识到这只显示值(事例计数)列的正结果。你知道吗
我需要的是包含所有可能的主标题和子标题的组合,所以像1&1(main&sub)case必须有200行,count列中可能有零值。你知道吗
如果我能得到任何帮助或建议,我将不胜感激!! 谢谢:)
在熊猫中,你可以用
groupby
+reindex
相关问题 更多 >
编程相关推荐