Pandas 索引的中位数不是值

Pandas Median on index not values

我的数据:

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

我想要点(LogRatio,Strength),它是我组 indexA-indexB

的中位数 position
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 和 Strength,其中 LogRatio 位于我的数据帧中 indexA 和 indexB 之间的中间位置,谢谢你.

最后,我想要: 点 = (0.533 , 9.7)

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

你可以试试

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