python - 计算两个数据帧的振荡
问题描述
我有两个数据框。一个代表最小值,另一个代表最大值。如下:
df_Min = pd.DataFrame({'IDsensor': [1, 2, 3],
'Sensor_SYS1_Min': [54, 55, 75],
'Sensor_SYS2_Min': [320, 315, 400]})
df_Max = pd.DataFrame({'IDsensor': [1, 2, 3],
'Sensor_SYS1_Max': [55, 60, 80],
'Sensor_SYS2_Max': [320, 320, 800]})
我想计算它们之间的差异。即最大值和最小值之间的振荡。
我尝试进行以下操作(此操作不正确):
df_Oscillation = abs(df_Max - df_Min)
我希望输出是这样的:
df_Oscillation = pd.DataFrame({'IDsensor': [1, 2, 3],
'Sensor_SYS1_Oscillation': [1, 5, 5],
'Sensor_Oscillation': [0, 5, 400]})
解决方案
两个关键变化:使用索引和使用 abs 方法
df_Min.set_index('IDsensor', inplace=True)
df_Max.set_index('IDsensor', inplace=True)
(df_Max - df_Min).abs()
像这样设置索引允许数据帧在传感器 ID 上对齐以进行减法,即使它们是使用不同顺序的 ID 创建的。使用该.abs
方法可以在数据帧上有效地处理操作。
推荐阅读
- haskell - 使用 Aeson 解析嵌套数组和对象
- python - 如何有效地将 sympy 中的术语分组以进行 lambdafication?
- r - 正则表达式删除特定字符之前的所有数字(在 R 中工作)
- r - 如何将向量除以R中的标量并绘制它
- docker - 豆荚死了。容器在 K8s 1.13 中启动
- github - 如何将协作者添加到特定的 Github 存储库并将其也显示在他们的个人资料中
- plsql - 搜索满足多个条件的数据
- python - 用于自定义创建类的 Python len() Big O 表示法
- php - 如何在 php-fpm 中流式传输文本/html
- php - 在不让两个人访问的情况下在 PHP 中分配资源