Python 在时间索引数据帧上添加来自第二个数据帧的序列
我有两个带有日期时间索引的数据帧Python 在时间索引数据帧上添加来自第二个数据帧的序列,python,pandas,Python,Pandas,我有两个带有日期时间索引的数据帧 2020-12-07 1622 2020-12-07 912 2020-12-07 503 它们将始终具有相同的长度(一周)。。。我需要将df1列添加到df2。我试过几种方法,但最有希望的方法给了我 df1=df1.assign(bline=pd.Series(df2['num'].values)) 但它给了我 2020-12-07 1622 NaN 2020-12-07 912 NaN 2020-12-07 503 NaN
2020-12-07 1622
2020-12-07 912
2020-12-07 503
它们将始终具有相同的长度(一周)。。。我需要将df1列添加到df2。我试过几种方法,但最有希望的方法给了我
df1=df1.assign(bline=pd.Series(df2['num'].values))
但它给了我
2020-12-07 1622 NaN
2020-12-07 912 NaN
2020-12-07 503 NaN
如果我简单地这样做:
df['num2']=df2['num'].values
,它会给我一个设置,带有copywarning
。。。这样做的正确方法是什么?df['num2']=df2['num']。值是正确的方法。它向您发出警告,因为您的df
是另一个更大数据帧的一部分
另一方面
df1 = df1.assign(bline=pd.Series(df2['num'].values))
不会向您发出警告,因为assign
会处理并返回切片的副本。但是pd.Series(df2['num'].values)
的索引与df1
的索引不同,因此可以得到所有NaN
。尝试:
df1 = df1.assign(bline=df2['num'].values)
df1 = df1.assign(bline=df2['num'].values)