为了账号安全,请及时绑定邮箱和手机立即绑定

pandas.crosstab中缺少数据

pandas.crosstab中缺少数据

天涯尽头无女友 2021-03-17 14:14:29
我正在与熊猫做一些交叉表:a = np.array(['foo', 'foo', 'foo', 'bar', 'bar', 'foo', 'foo'], dtype=object)b = np.array(['one', 'one', 'two', 'one', 'two', 'two', 'two'], dtype=object)c = np.array(['dull', 'dull', 'dull', 'dull', 'dull', 'shiny', 'shiny'], dtype=object)pd.crosstab(a, [b, c], rownames=['a'], colnames=['b', 'c'])b     one   two       c    dull  dull  shinya                     bar     1     1      0foo     2     1      2但是我真正想要的是以下内容:b     one        two       c    dull  shiny dull  shinya                     bar     1     0    1      0foo     2     0    1      2我找到了解决方法,方法是添加新的列并将级别设置为新的MultiIndex,但这似乎很困难...有什么方法可以将MultiIndex传递给交叉表函数来预定义输出列?
查看完整描述

3 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

交叉表函数具有一个名为dropna的参数,默认情况下将其设置为True。此参数定义是否显示空列(例如,单光列)。


我试过像这样调用函数:


pd.crosstab(a, [b, c], rownames=['a'], colnames=['b', 'c'], dropna = False)

这就是我得到的:


b     one          two       

c    dull  shiny  dull  shiny

a                            

bar     1      0     1      0

foo     2      0     1      2


查看完整回答
反对 回复 2021-03-31
  • 3 回答
  • 0 关注
  • 291 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信