2015-01-13 50 views
-1

我從csv文件創建DataFrame,其中我的索引(行)是日期,列名是城市名稱。如何使用列形式創建新的大熊貓數據框DataFrame(PYTHON)

創建原始DataFrame後,我試圖從選定的列創建一個DataFrame。我曾嘗試過:

A=df['city1'] #city 1 
B=df['city2'] 
C=pd.merge(A,B) 

但它不起作用。這就是A和B的樣子。

Date 
2013-11-01  2.56 
2013-12-01  1.77 
2014-01-01  0.00 
2014-02-01  0.38 
2014-03-01 13.16 
2014-04-01 10.29 
2014-05-01 15.43 
2014-06-01 11.48 
2014-07-01  8.54 
2014-08-01 11.11 
2014-09-01  2.71 
2014-10-01  4.16 
2014-11-01 13.01 
2014-12-01  9.59 
Name: Seattle.Washington, dtype: float64 Date 

而這正是我期待創造:

    City1     City2 
Date                
2013-11-01   0.00     2.94   
2013-12-01   8.26     3.41   
2014-01-01   1.11     14.27    
2014-02-01   32.86     84.26   
2014-03-01   34.12     0.00   
2014-04-01   68.39     0.00   
2014-05-01   27.17     9.09   
2014-06-01   10.47     32.00   
2014-07-01   14.19     26.83   
2014-08-01   14.91     6.36   
2014-09-01   3.76     8.32    
2014-10-01   5.83     2.19   
2014-11-01   10.79     2.64   
2014-12-01   21.24     8.08 

什麼建議嗎?

錯誤消息:

--------------------------------------------------------------------------- 
AttributeError       Traceback (most recent call last) 
<ipython-input-222-ec50ff9f372f> in <module>() 
    14 S = df['City1'] 
    15 A = df['City2'] 
    16 
---> 17 print merge(S,A) 
    18 #df2=pd.merge(A,A) 
    19 #print df2 

C:\...\merge.pyc in merge(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy) 
    36       right_on=right_on, left_index=left_index, 
    37       right_index=right_index, sort=sort, suffixes=suffixes, 
---> 38       copy=copy) 
    39  return op.get_result() 
    40 if __debug__: 
+1

,那麼您已經沒有指定什麼行不通,在這裏我的猜測是,結果不是你希望但你沒有說明你想要的輸出應該是什麼樣子。你想基於索引進行合併嗎? – EdChum

+0

是的,我試圖按索引合併。在這種情況下,索引=日期。我嘗試追加,但似乎連接。 – FMarquez

+1

在這種情況下,你應該做'pd.merge(df ['City1'],df ['City2'],left_index = True,right_index = True)'但我很困惑,看起來你只是選擇'City1'和'城市2'列來自同一個df,爲什麼不只是'df [['City1','City2']]'? – EdChum

回答

1

答:(@EdChum提供)

df[['City1', 'City2']] 
相關問題