我正在与熊猫做一些交叉表: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
添加回答
举报
0/150
提交
取消