dataframe如何统计某两列组合的值的重复次数并按重复次数的多少分列展示,形成如 某地 某分区 出现次数96次计数 出现次数95次计数的透视表
时间: 2024-09-15 08:12:46 浏览: 46
Python读取Excel一列并计算所有对象出现次数的方法
5星 · 资源好评率100%
要在Pandas DataFrame中统计某两列的组合值,并按重复次数分组,你可以使用`pivot_table`函数,同时结合`agg`参数来进行计数操作。假设你的DataFrame叫`df`,需要统计的两列分别是`location`和`partition`,可以这样做:
```python
# 首先,确定需要计数的列
col1 = 'location'
col2 = 'partition'
# 创建一个新的DataFrame,其中的行由两列的组合构成,值是原始DataFrame的索引
temp_df = df[[col1, col2]].drop_duplicates() # 删除重复行
# 使用groupby和size计算每组的重复次数
counts = temp_df.groupby([col1, col2]).size().reset_index(name='counts')
# 将结果转换为透视表,按'location'和'partition'分组,'counts'作为值
pivot_table = counts.pivot_table(index=col1, columns=col2, values='counts', aggfunc='size')
pivot_table.fillna(0, inplace=True) # 用0填充空值
print(pivot_table)
```
这会生成一个透视表,显示每个地点(location)和分区(partition)的组合以及它们出现的次数。
阅读全文