将一个DataFrame中的一列复制到另一个DataFrame中会得到NaN值吗?

15 浏览
0 Comments

将一个DataFrame中的一列复制到另一个DataFrame中会得到NaN值吗?

这个问题已经被问了很多次,而且似乎对其他人有效,但是当我从另一个DataFrame复制一列时(df1和df2的长度相同),我得到了NaN值。

df1

date hour var1

a 2017-05-01 00:00:00 456585

b 2017-05-01 01:00:00 899875

c 2017-05-01 02:00:00 569566

d 2017-05-01 03:00:00 458756

e 2017-05-01 04:00:00 231458

f 2017-05-01 05:00:00 986545

df2

MyVar1 MyVar2

0 6169.719338 3688.045368

1 5861.148007 3152.238704

2 5797.053347 2700.469871

3 5779.102340 2730.471948

4 6708.219647 3181.298291

5 8550.380343 3793.580394

我需要在df2中得到这样的结果

MyVar1 MyVar2 date hour

0 6169.719338 3688.045368 2017-05-01 00:00:00

1 5861.148007 3152.238704 2017-05-01 01:00:00

2 5797.053347 2700.469871 2017-05-01 02:00:00

3 5779.102340 2730.471948 2017-05-01 03:00:00

4 6708.219647 3181.298291 2017-05-01 04:00:00

5 8550.380343 3793.580394 2017-05-01 05:00:00

我尝试了以下方法

df2['date'] = df1['date']

df2['hour'] = df1['hour']

type(df1)

>> pandas.core.frame.DataFrame

type(df2)

>> pandas.core.frame.DataFrame

我得到了以下结果

MyVar1 MyVar2 date hour

0 6169.719338 3688.045368 NaN NaN

1 5861.148007 3152.238704 NaN NaN

2 5797.053347 2700.469871 NaN NaN

为什么会这样?还有一个帖子讨论了merge,但我只需要复制它。任何帮助将不胜感激。

0