如何动态设置变量 - python,pandas

时间:2016-06-21 13:25:25

标签: python csv pandas dynamic dataframe

>>>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

我想申请以下公式并获得' y'当我进入' x'动态地绘制图表。

  

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

如果'表示'值为0(例如index4,5 index8,9,10)
    1)提出问题"你想插入吗?"
    2)如果是,请输入' x'值
    3)使用公式计算(重复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

变量x0,x1,y0,y1在它们位于&#39; 0&#39;之间时确定。值。
如何动态获取变量并计算?
你对设计方案有什么好主意吗?

1 个答案:

答案 0 :(得分: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]

原谅错别字,在手机上工作。