如何将其与pandas数据框中每一列的中位数进行比较,如果值大于中位数,则结果为true,如果值小于中位数,则结果为false?
现在我正在标准化,因此基本上与每列的0(均值)进行比较。想要对中位数做同样的方法。
答案 0 :(得分:1)
我从您的问题中了解到的是,您想比较其列中位数的每个列值
df = pd.DataFrame(data={'a':[1,2,3,4,4,5],
'b':[1,2,3,3,3,3]})
# median of col a and col b is calculated and save in another column
df['median_a'] = df['a'].median()
df['median_b'] = df['b'].median()
# if col a value is greater than median_a then a_bool contains True else False
df['a_bool'] = df.apply(lambda x: True if x['a']>x['median_a'] else False ,axis=1)
df['b_bool'] = df.apply(lambda x: True if x['b']>x['median_b'] else False,axis=1)
我希望它能解决您的问题