Pandas中位数指数不是值

时间:2016-12-01 16:34:27

标签: python pandas dataframe median

我的数据:

LogRatio    Strength
 0.555         9.1
 0.542         9.6
 0.533         9.7
 0.532         9.3
 0.519         9.2
 0.508         9.5

我希望得到我的组indexA-indexB的中位数位置的点(LogRatio,Strength)

indexA = 0
indexB = 4
point_logRatio = df['LogRatio'][indexA:indexB].median()
point_Strength = df[df['LogRatio']==point_logRatio['Strength'].iloc[0]

我不想用值计算中位数,我只想要行的索引得到LogRatio和强度对应。因为 point_logRatio 计算中位数而不给我一行。 这就是我的 point_Strength 不起作用的原因,因为计算的中位数与数据帧的值不匹配。

所以,如果你有一个更简单的方法来获取LogRatio和强度,同时LogRatio在indexA和indexB之间的数据框中处于中间位置,谢谢。

最后,我希望: point =(0.533,9.7)

因为0.533是我的数据框中我的索引0和4之间的中间位置的logRatio,相应的强度是9.7。

1 个答案:

答案 0 :(得分:1)

你可以尝试

median_position = (indexA+indexB)/2
point_logRatio  = df.iloc[median_position]['LogRatio']
point_Strength  = df.iloc[median_position]['Strength']