python - 如果列不存在,则新列的熊猫数据透视表错误计算
问题描述
我是 python 的新手,我在 pandas 中尝试数据透视表函数,同时这样做
y["Out bin"]=y["30-40 Mins"]+y["40-50 Mins"]
所有列 ["30-40 Mins"] 和 ["40-50 Mins"] 都是计算字段,但如果原始数据(派生列)中不存在类别 y["40-50 Mins"] 则这样做相同的关键错误,我知道这是计算字段中不存在 bcz 类别
他们有什么方法可以解决这个问题,就好像该列不存在一样,它可以省略相同的内容并在数据透视表中添加列而不会出现任何错误
解决方案
用于Index.intersection
获取列名(如果存在),然后sum
:
vals = ['30-40 Mins', '40-50 Mins']
y["Out bin"] = y[y.columns.intersection(vals)].sum(axis=1)
推荐阅读
- sql-server - 如何查找和替换 SQL Server 表中的所有值
- html - 边框半径不适用于右侧图像
- c# - 格式化来自模型的动态 json 字符串以在 .net 视图中显示
- ios - Xamarin VS2019 无法使用配对的 mac 测试 iOS 应用程序
- javascript - 将 number 替换为将原始值乘以 0.75 的数字
- java - Canvas 对象是否在两次不同的 onDraw() 方法运行之间发生变化?
- javascript - 组件未使用 Redux 和 React 检测状态更改而不刷新组件
- apache-kafka - Micronaut kafka:无法完全使用一次 kafka 消息语义
- kubernetes - Kubernetes Headless Service 多接口 Pod
- class - AbstractMethodError:此方法必须在具体类类型中定义