我有两个dataframes一个dataframes包含四个列名,分别是Field\u name、Field\u Type、Unit\u Measurement和Asset name。而另一个数据帧则在一行中包含所有字段名称及其对应的值。 一个例子
import pandas as pd
df1 = pd.DataFrame({'Field_Name' : ['W_LD(1)', 'R_LD(3)', 'WMEAS_LD(1)', 'WMEAS_LD(2)','W_LN(1)','WMEAS_LN(1)'],
'Field_Type' : [est, est, meas, meas,est,meas],
'Unit' : ['mw', 'mv', 'mw', 'mw','mw','mw'],
'Asset_Name' : ['LD(1)', 'LD(3)', 'LD(1)', 'LD(2)','LN(1)','LN(1)']})
Second Dataframe [all the infromation rowwise]
import pandas as pd
df2=pd.Dataframe({['Device_names','W_LD(1)','R_LD(3)','WMEAS_LD(1)','WMEAS_LD(2)','W_LN(1)','WMEAS_LN(1)'],
['Timestamp','2.2','3.3','1.2','3.4','2.3','4.5']})
现在,我们有两个数据帧。 所以,基本上我必须检查字段类型是估计的还是测量的,资产名称是LD(1),单位是'mw'还是'mv'
基于这些条件,我必须从第二个数据帧中提取WèLD(1)和WMEASèLD(1),并减去这两个值,然后输出将是(3.4-2.2)=1.2。这是针对一个设备,类似地,我必须针对多个设备
如果您的
DataFrame
是:1.解决方案。
2.说明。
groupby要计算每组的减法:
首先使用Series.map按正确的顺序在
df1
中插入Timestamp
列。 使用DataFrame.sort_values订购得到带正号的减法然后使用groupby.DataFrameGroupBy.diff:
然后使用transform:
相关问题 更多 >
编程相关推荐