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

python – 为什么不是df [“ColumA”] = df_2 [“ColumnB”]按预期工作?,第1张

概述给出两个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 给出两个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     Value1109915    AUD 2016-01-29  vola  518.50911109950    CAD 2016-01-29  vola  360.94741109971    CHF 2016-01-29  vola  767.18801110013     DX 2016-01-29  vola  495.89131110041    EUR 2016-01-29  vola  876.68611110062    GBP 2016-01-29  vola  462.6425

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

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

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

1109921   NaN1110089   NaN1110138   NaN1110159   NaN1110257   NaN1110450   NaN1110618   NaN1110667   NaN1110688   NaN

但是,如果我这样做:

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

值按预期分配.

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

解决方法 存在df1中的索引作为df2中的索引不同的问题.

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

df1["volas"] = df2["Value"].valuesprint (df1)     value Symbol        Date   Type        Value     volas0  1109914    AUD  2016-01-29  value   64587.9121  518.50911  1109949    CAD  2016-01-29  value   65357.1429  360.94742  1109970    CHF  2016-01-29  value  111881.8681  767.18803  1110012     DX  2016-01-29  value   91256.4103  495.8913
总结

以上是内存溢出为你收集整理的python – 为什么不是df [“ColumA”] = df_2 [“ColumnB”]按预期工作?全部内容,希望文章能够帮你解决python – 为什么不是df [“ColumA”] = df_2 [“ColumnB”]按预期工作?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1193653.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存