我的资料:
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的中位数(pointRatio,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之间的中间位置,那么谢谢。
最后,我想拥有:
点=(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']
关于python - Pandas 指数中位数而不是值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40915796/