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