2016-06-21 20 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 

I unten Formel anwenden möchten, und bekommen ‚y‘, wenn ich ‚x‘ Wert dynamisch ein Diagramm, um Plotten eingeben., wie eine Variable dynamisch setzen - Python, Pandas

y = y0 + (y1-y0) * (x-x0/x1-x0)

If 'mean' Wert 0 ist (zum Beispiel index4,5 index8,9,10)
1) Frage stellen "Möchten Sie interpolieren?"
2) Falls ja, geben Sie den 'x' Wert ein 3) Berechnung mit Formel (wiederholen Sie 1-3, bis die Antwort nein ist)
4) Wenn die Antwort nein ist, beenden Sie das Programm.

 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 

variable x0, x1, y0, y1 bestimmt wird, wenn sie sich außerhalb zwischen '0' -Wert befindet.
Wie bekomme ich eine Variable dynamisch und berechne?
Haben Sie eine gute Idee, Programm zu entwerfen?

Antwort

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] 

Entschuldigung Tippfehler, Arbeiten am Handy.

Verwandte Themen