Pandas 如何使用列创建新的Dataframe form Dataframe(PYTHON)

Pandas 如何使用列创建新的Dataframe form Dataframe(PYTHON),pandas,Pandas,我正在从csv文件创建一个数据框,其中我的索引(行)是日期,我的列名是城市名称 创建原始数据帧后,我将尝试从选定列创建数据帧。我试过: 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 201

我正在从csv文件创建一个数据框,其中我的索引(行)是日期,我的列名是城市名称

创建原始数据帧后,我将尝试从选定列创建数据帧。我试过:

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__:
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在()
14 S=df['City1']
15 A=df['City2']
16
--->17打印合并(S,A)
18#df2=pd.merge(A,A)
19#打印df2
C:\…\merge.pyc in merge(左、右、如何、开、左、右、左索引、右索引、排序、后缀、复制)
36右上=右上,左索引=左索引,
37右索引=右索引,排序=排序,后缀=后缀,
--->38拷贝=拷贝)
39返回操作获取结果()
40如果调试:
回答:(由@EdChum提供)


你没有指定什么不起作用,我猜结果不是你想要的,但是你没有说明你想要的输出应该是什么样子。你想根据索引合并吗?是的,我想按索引合并。在这种情况下,index=date。我尝试了append,但这似乎是串联的。在这种情况下,您应该执行
pd.merge(df['City1',df['City2',left_index=True,right_index=True)
但是我很困惑,看起来您只是从同一个df中选择了'City1'和'City2'列,为什么不直接执行
df['City1','City2']
?我发誓我已经试过了!刚刚尝试了df[[City1',City2']],它成功了!谢谢,我不知道我是否应该发布这个问题的答案,如果你愿意,你可以自己做,并接受答案,所以问题被标记为已回答
df[['City1', 'City2']]