永远不会发生的pd.df.groupby事件0%

问题描述

我有一个XMLParser,其中有两列,分别是“早晨”和“晚上”,分别代表早晨和晚上的压力测量值。列中的值为“高”,“中”或“低”。

pandas data frame

我想创建两个列表,“ morning evening 0 high high 1 high medium 2 high medium 3 high low 4 medium high ”和“ pressure_change”。 “ pressure_change_likelihood”描述了早晨和晚上之间发生了什么类型的压力变化,例如“高-低”是指从早晨的高压力到夜间的低压力的变化。 “ pressure_change”描述了给定类型的压力变化有多频繁,例如,如果早晨的压力较高,则在一半的时间晚上(0.50)变为中等压力。

pressure_change_likelihood

我已经可以创建'pressure_change = [['high-high','high-medium','high-low'],['medium-high','medium-medium','medium-low'],['low-high','low-medium','low-low']] pressure_change_likelihood = [[0.25,0.50,0.25],[0.33,0.00,0.67],[0.00,1.00,0.00]] '了,但是问题是'pressure_change'。我以为我会尝试使用pressure_change_likelihood作为起点,然后将输出转换为列表列表,但是生成的熊猫系列不包含从未发生过的事件的0.00值和顺序的值不同于我需要的值。

pd.df.groupby()

感谢您的帮助!

解决方法

让我们尝试crosstab

s = pd.crosstab(df.morning,df.evening,normalize='index').stack()
Out[84]: 
morning  evening
high     high       0.250000
         low        0.250000
         medium     0.500000
low      high       0.000000
         low        0.000000
         medium     1.000000
medium   high       0.333333
         low        0.666667
         medium     0.000000
dtype: float64

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...