首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Reindex Bins-索引DataFrame

Reindex Bins-索引DataFrame
EN

Stack Overflow用户
提问于 2020-03-10 00:04:37
回答 1查看 54关注 0票数 1

我想为应用groupby后不出现在索引/列中的存储箱添加带零的行和列:

代码语言:javascript
复制
import numpy as np
import pandas as pd

bins = np.arange(-0.1, 2, 0.1)

names = np.random.random_integers(0, 100, 1000)
a = np.random.random(1000)
b = np.random.random(1000)

matrix = pd.DataFrame([names, pd.cut(a, bins), pd.cut(b, bins)]).T
matrix.columns = ['names', 'a', 'b']

matrix = matrix.groupby(['a', 'b']).count()
matrix.reset_index(inplace=True)

matrix = matrix.pivot(index='a', columns='b', values='names').fillna(0)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-10 00:19:20

pandas.cut方法的输出赋给变量以访问categories属性:

代码语言:javascript
复制
bins = np.arange(-0.1, 2, 0.1)

names = np.random.random_integers(0, 100, 1000)
a = np.random.random(1000)
b = np.random.random(1000)


##############################
# Use pd.cut like this
a_bins = pd.cut(a, bins)
b_bins = pd.cut(b, bins)
##############################


matrix = pd.DataFrame([names, a_bins, b_bins]).T


matrix.columns = ['names', 'a', 'b']

matrix = matrix.groupby(['a', 'b']).count()
matrix.reset_index(inplace=True)

matrix = matrix.pivot(index='a', columns='b', values='names').fillna(0)

##################################################
# Reindex with this
matrix = matrix.reindex(index=a_bins.categories,
                        columns=b_bins.categories,
                        fill_value=0)
##################################################
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60604319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档