我有两个pandas Dataframe 列,一个是电压,另一个是odo阅读我想根据电压从54减少到52,对odo求和,什么是odo求和,51到48,什么是odo求和,等等
import pandas as pd
data = {
'voltage': [54.8, 54.5, 53.90, 53.88, 53.50, 53.25, 53.10, 52.98, 52.65, 52.10, 51.88, 51.43, 51.23, 50.67, 50.23, 49.98, 49.34, 49.00, 48.88, 48.34, 48.10, 47.70, 47.34, 47.10, 46.98, 46.23, 46.10, 53.10, 52.98, 52.65, 52.10, 51.88, 51.43, 51.23, 50.67, 50.23, 49.98, 54.8, 54.5, 53.90, 53.88, 53.50, 53.25, 53.10, 52.98, 52.65, 52.10, 51.88, 51.43, 51.23, 50.67, 50.23, 49.98, 49.34, 49.00, 48.88, 48.34, 48.10, 47.70, 47.34, 47.10, 46.98, 46.23, 46.10, 53.10, 52.98, 52.65, 52.10, 51.88, 51.43, 51.23, 50.67, 50.23, 49.98, 53.25, 53.10, 52.98, 52.65, 52.10, 51.88, 51.43, 51.23, 50.67, 50.23],
'odo': [1, 2, 3, 6, 7, 3, 4, 5, 6, 2, 3, 2, 3, 7, 8, 3, 6, 7, 3, 4, 5, 6, 2, 3, 2, 3, 7, 7, 8, 3, 6, 7, 3, 4, 5, 6, 2, 1, 2, 3, 6, 7, 3, 4, 5, 6, 2, 3, 2, 3, 7, 8, 3, 6, 7, 3, 4, 5, 6, 2, 3, 2, 3, 7, 7, 8, 3, 6, 7, 3, 4, 5, 6, 2, 1, 2, 3, 6, 7, 3, 4, 5, 6, 2]
}
df = pd.DataFrame(data)
当电压从54下降到52时的预期结果,即整个集合54.8,54.5,53.90,53.88,53.50,53.25,53.10,52.98,52.65,52.10 odo和1,2,3,6,7,3,4,5,6,20和下一个周期51.88,51.43,51.23,50.67,50.23,49.98,49.34,49.00以及相应的odo值和3,2,3,7,8,3,6,7,thase值和i需要预期结果54到52 odo和57,51到49 odo和39,等等
1条答案
按热度按时间6g8kf2rb1#
您可以使用
pd.cut
在 Dataframe 中创建一个新列,指示电压范围,然后使用groupby
按电压范围分组,并计算每组的odo阅读之和。代码如下:这将输出:
因此,电压从54降低到52的odo读数之和为254,从51降低到48的odo读数之和为163,依此类推。