加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 为什么不是df [“ColumA”] = df_2 [“ColumnB”]按预

发布时间:2020-12-20 11:51:59 所属栏目:Python 来源:网络整理
导读:给出两个DataFrame: #df1value Symbol Date Type Value1109914 AUD 2016-01-29 value 64587.9121 1109949 CAD 2016-01-29 value 65357.14291109970 CHF 2016-01-29 value 111881.86811110012 DX 2016-01-29 value 91256.4103#df2volas Symbol Date Type Val
给出两个DataFrame:

#df1
value         Symbol       Date   Type        Value
1109914    AUD 2016-01-29  value   64587.9121    
1109949    CAD 2016-01-29  value   65357.1429
1109970    CHF 2016-01-29  value  111881.8681
1110012     DX 2016-01-29  value   91256.4103

#df2
volas         Symbol       Date  Type     Value
1109915    AUD 2016-01-29  vola  518.5091
1109950    CAD 2016-01-29  vola  360.9474
1109971    CHF 2016-01-29  vola  767.1880
1110013     DX 2016-01-29  vola  495.8913
1110041    EUR 2016-01-29  vola  876.6861
1110062    GBP 2016-01-29  vola  462.6425

如果我想从df2向df1添加一个columnd,我自然会尝试这个:

df1["volas"] = df2["Value"]

但是,这会返回一个带有nan值的Series(因此用这样填充新列):

1109921   NaN
1110089   NaN
1110138   NaN
1110159   NaN
1110257   NaN
1110450   NaN
1110618   NaN
1110667   NaN
1110688   NaN

但是,如果我这样做:

market_values['Volas'] = [i for i in market_volas.Value]

值按预期分配.

为什么?
我根本看不出问题出在哪里,特别是因为我的初步尝试是建议here.

解决方法

存在df1中的索引作为df2中的索引不同的问题.

如果length od索引相等,则可以使用values

df1["volas"] = df2["Value"].values
print (df1)
     value Symbol        Date   Type        Value     volas
0  1109914    AUD  2016-01-29  value   64587.9121  518.5091
1  1109949    CAD  2016-01-29  value   65357.1429  360.9474
2  1109970    CHF  2016-01-29  value  111881.8681  767.1880
3  1110012     DX  2016-01-29  value   91256.4103  495.8913

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读