微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“ pandas crosstab”边距NaN行为

如何解决“ pandas crosstab”边距NaN行为

我对Pandas交叉表的边际小计感到困惑。

例如,将df1和df2设为Pandas DataFrames:

df1 = pd.DataFrame({1: [2],'foo': 'bar'})
df2 = pd.DataFrame({'1': [2],'foo': 'bar'})

print(df1)和print(df2)产生相同的结果:

   1  foo
0  2  bar

边距设置为True的熊猫交叉表函数将产生以下结果:

pd.crosstab(df1[1],df2['foo'],margins = True)                                                                                                       
 
1    2  All
foo        
bar  1  NaN
All  0  1.0
pd.crosstab(df2['1'],margins = True)                                                                                                     
 
foo  bar  All
1            
2      1    1
All    1    1
pd.crosstab(df1['foo'],df1[1],margins = True)                                                                                                      
 
1    2  All
foo        
bar  1    1
All  0    1

如果有人可以解释发生了什么,我将不胜感激。在字典或数据框结构中或在交叉表函数调用中有我不理解的东西吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。