pandas - 与每列的中位数进行比较
问题描述
如何与 pandas 数据框中每列的中值进行比较,如果值大于中值,则结果为 true,如果值小于中值,则结果为 false?
现在我正在标准化,所以基本上与每列的 0 (平均值)进行比较。想要一种方法对中位数做同样的事情。
解决方案
我从你的问题中了解到的是你想从它的列中位数比较每一列的值
- .median()查找列的中值并保存在列中
- .apply(axis=1) with axis=1将每个值与值 median() 进行比较
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)
我希望它能解决你的问题
推荐阅读
- mysql - - MySQL - 从 wordpress MU 中删除表(博客和插件)
- mariadb - 使用 WSREP 获取大量 Mariadb 日志错误消息:LOCAL_STATE 的清理事务
- c++ - 如何实例化基于输入的策略模式
- jmeter - JMeter JMS 订阅者如何从主题中读取 BytesMessage
- excel - 基于过滤器从 Excel 工作表返回行号
- powerbi - Power BI DirectQuery 模式 - “无法加载模型架构”。但能够在查询编辑器中进行转换
- html - 如何更改显示在 Google 中的描述并将搜索标签添加到您的页面?
- java - Vaadin treegrid 条件格式
- flutter - 在 Flutter 中添加 OverlayEntry
- java - 我们如何让 Jframe 像 taksbar 中的 Skype 消息一样闪烁?