2016-06-21 8 views
1
>>>import pandas as pd 
>>>import numpy as np 
>>>from pandas import Series, DataFrame 

>>>rawData = pd.read_csv('wow.txt') 
>>>rawData 
    time  mean  
0 0.005   0     
1 0.010  258.64     
2 0.015  258.43     
3 0.020  253.72   
4 0.025   0     
5 0.030   0     
6 0.035  253.84    
7 0.040  254.17   
8 0.045   0     
9 0.050   0    
10 0.055   0  
11 0.060  254.73  
12 0.065  254.90  
      . 
      . 
      . 
489 4.180  167.46 

グラフをプロットするときに 'x'値を動的に入力すると、下の式に適用して 'y'を入力します。変数を動的に設定する方法 - Python、pandas

Y = Y0 +(Y1-Y0)*(X-X0/X1-X0)

'平均' 値は、0(index8,9,10 index4,5など)である場合
1) "補間しますか?"
2 YES)場合は、 'X' 値
3を入力)の答えがノーであれば、プログラムを終了し、式(答えがNOであるまで1~3を繰り返していない)
4)を用いて算出します。

 time(x-axis) mean(y-axis)   
0 0.005     0     
1 0.010   258.64     
2 0.015   258.43     
3 0.020 <--x0  253.72  <-- y0   
4 0.025     0     
5 0.030     0     
6 0.035 <--x1  253.84  <-- y1   
7 0.040 <--x0  254.17  <-- y0    
8 0.045     0     
9 0.050     0    
10 0.055     0  
11 0.060 <--x1  254.73  <-- y1 
12 0.065   254.90  
      . 
      . 
      . 
489 4.180   167.46 

それらが '0' の値との間に外側に配置されている場合、変数X0、X1、Y0、Y1が決定されます。
変数を動的に取得して計算するにはどうすればよいですか?
あなたはプログラムを設計する良いアイデアはありますか?

答えて

0
for i in df.index: 
    if df.mean [i]=0: 
     answer=input ("Do you want to interpolate?") 
     if answer="Y": 
      x1 = df.loc[df.mean > 0].index[1] 
      y1 = df.loc[df.time > 0].index[1] 
      Interpolate eqn 
     else: 
      Process 
    else: 
     x0 = df.time [i] 
     y0 = df.mean[i] 

携帯電話で動作しています。