2024-05-15 04:38:04 发布
网友
我在pandas中有以下布尔数据帧:
Cat Dog Mouse Alex 1 0 1 Lola 0 0 1 Bob 1 1 1
每个单元格都包含真假,表示某人是否有动物。 我想得到数据帧,它包含每对动物的条件概率,其中行表示条件
Cat Dog Mouse Cat 1 50% 1 Dog 1 1 1 Mouse 66% 33% 1
在熊猫身上有没有快速的方法?如果是的话,怎么办
如果您正在寻找使用pandas的“oneliner”解决方案……请查看pandas.crosstab:
pandas.crosstab
pandas.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name='All', dropna=True, normalize=False)
您可以在df和转置df之间使用点积,并以百分比计算秩:
df.T.dot(df).rank(axis=1,method='dense',pct=True).round(3)
Cat Dog Mouse Cat 1.000 0.500 1.0 Dog 1.000 1.000 1.0 Mouse 0.667 0.333 1.0
如果您正在寻找使用pandas的“oneliner”解决方案……请查看
pandas.crosstab
:您可以在df和转置df之间使用点积,并以百分比计算秩:
相关问题 更多 >
编程相关推荐