查找“差异值”与目标之间的百分比差异

时间:2019-07-18 01:35:16

标签: python pandas time-series

我想找到差异值与其目标阈值之间的百分比差异。我有一个如下所示的时间序列数据帧。我首先需要找到日期列之间的差异,然后计算其目标行与每一行的差异值之间的百分比差异。

代码:

import pandas as pd 

# Create sample dataframe
raw_data = {'ID': ['A1', 'B1', 'C1', 'D1'], 
  'Domain': ['Finance', 'IT', 'IT', 'Finance'], 
  'Target': [1, 2, 3, 0.9%], 
  'Criteria':['<=', '<=', '>=', '>='],
  "1/01":[0.9, 1.1, 2.1, 1],
  "1/02":[0.4, 0.3, 0.5, 0.9], 
  "1/03":[1, 1, 4, 1.1], 
  "1/04":[0.7, 0.7, 0.1, 0.7],
  "1/05":[0.7, 0.7, 0.1, 1], 
  "1/06":[0.9, 1.1, 2.1, 0.6],}

df = pd.DataFrame(raw_data, columns = ['ID', 'Domain', 'Target','Criteria', '1/01', 
  '1/02','1/03', '1/04','1/05', '1/06'])

   ID   Domain  Target Criteria  1/01  1/02  1/03  1/04  1/05  1/06  
0  A1  Finance       1       <=   0.9   0.4   1.0   0.7   0.7   0.9  
1  B1       IT       2       <=   1.1   0.3   1.0   0.7   0.7   1.1  
2  C1       IT       3       >=   2.1   0.5   4.0   0.1   0.1   2.1  
3  D1  Finance     0.9%      >=   1.0   0.9   1.1   0.7   1.0   0.6

我设法找到列之间的区别。但是,要计算差异值之间的百分比差异,下面显示的代码我只能设法分配最多目标值。

#Finding difference between columns
date_columns = df.iloc[:,4:]
diff_col = np.abs(np.diff(df[date_columns].values))

#Finding percentage difference between difference values 
target = df[['Target']].values

0 个答案:

没有答案