2017-02-07 44 views
-2

我有如圖所示的數據幀「keep_df」:錯誤劃分列並添加結果到一個新的列

  DateTime    Modeled Flow(cfs) Observed Flow(cfs) Seconds 
    Event     
    Event 1 2016-08-15 15:35:00  11.85926    0.0   300.00 
    Event 1 2016-08-15 10:05:00  30.05923    0.0   300.00 
    Event 1 2016-08-15 10:00:00  31.10118    0.0   300.00 
    Event 1 2016-08-15 09:55:00  32.17444    0.0   300.00 
    Event 1 2016-08-15 09:50:00  33.25405    0.0   300.00 

我想創造,通過分割模型化的流動(CFS)有了新的列還觀察到流(CFS)與秒列如下所示:

keep_df['Modelled Volume(f3)'] = keep_df['Modeled Flow(cfs)']/keep_df['Seconds'] 
keep_df['Observed Volume(f3)'] = keep_df['Observed Flow(cfs)']/keep_df['Seconds'] 
keep_df() 

但運行我得到這樣的錯誤在上述後:

Type error: 'Dataframe' object is not callable 

由於「秒」欄目爲默認值我想這:

keep_df['Modelled Volume(f3)'] = 'Modeled Flow (cfs)'/300.00 
keep_df['Observed Volume(f3)'] = 'Observed Flow (cfs)'/300.00 
keep_df() 

而我依然收到此錯誤:

TypeError         Traceback (most recent call last) 
<ipython-input-91-b268c3093f01> in <module>() 
----> 1 keep_df['Modelled Volume(f3)'] = 'Modeled Flow (cfs)'/300.00 
    2 keep_df['Observed Volume(f3)'] = 'Observed Flow (cfs)'/300.00 
    3 keep_df() 

TypeError: unsupported operand type(s) for /: 'str' and 'float' 

我應該怎麼可能呢?

+0

你叫'keep_df()'你想在代碼 – EdChum

+0

你的第一位剛剛'keep_df'因爲我在數據框用於運行代碼之後,使用ipython notebook,'()'。 – nish

+0

那麼你發佈了一個不完整的問題,你發佈了一個圖像,沒有原始數據和其他人可以運行的完整代碼來重現你的錯誤,因此這使得其他人很難幫助你,而你浪費我們的時間 – EdChum

回答

2

嘗試使用.div代替

keep_df['Modelled Volume(f3)'] = keep_df['Modeled Flow(cfs)'].div(keep_df['Seconds']) 
keep_df['Observed Volume(f3)'] = keep_df['Observed Flow(cfs)'].div(keep_df['Seconds']) 
keep_df 

對於第二部分

keep_df['Modelled Volume(f3)'] = keep_df['Modeled Flow(cfs)']/300.00 
keep_df['Observed Volume(f3)'] = keep_df['Observed Flow(cfs)']/300.00 
keep_df 
+0

@jezrael我在OP的最初'keep_df'中看到有一個事件索引,所以我猜我應該先做'keep_df.reset_index(inplace = True)'? 糾正我,如果我錯了。 – Shubham

+0

不,檢查[此評論](http://stackoverflow.com/questions/42087695/error-in-dividing-the-columns-and-adding-the-result-into-a-new-column#comment71347187_42087695) - 這是必要的刪除,因爲它是數據框名稱沒有功能 – jezrael

+0

@jezrael讚賞,從你學到很多東西。 – Shubham