从常规数据框中添加到日期时间索引数据框中的列

时间:2019-12-04 19:22:24

标签: python pandas dataframe

我有两个长度相同的数据帧(39014行),一个以日期时间作为索引,另一个则是常规索引。我需要将一列复制到另一列中,但是在进行复制时,它会返回Nans。我做到了:

df_datetime["newcol"]=df_regular["col"]

如果您选中newcol中的df_datetime列,则尽管Nan的{​​{1}}列中有数字,但它仍充满了col。为什么会这样呢?我该如何解决?谢谢!

也尝试过

df_regular

同样的事情发生

3 个答案:

答案 0 :(得分:0)

这是因为索引未对齐。

当您像这样分配新列时,df_datetime.loc[x, 'newcol']将具有与df_regular.loc[x, 'newcol']相同的值

您需要将df_datetime的索引替换为日期时间索引。

答案 1 :(得分:0)

如果执行此操作怎么办:

listOfColumn = list(df_regular["col"])
df_datetime["newcol"] = listOfColumn

答案 2 :(得分:0)

作为 df_datetime df_regular ,我准备了以下数据框:

             N1
Dat            
2019-09-01  120
2019-09-02  130
2019-09-03  140
2019-09-04  150
2019-09-05  160

   col  N2
0   23  19
1   26  32
2   48  61
3   51  53
4   62  60

都是5行。

如果您要将 col 列从 df_regular 添加到 df_datetime 忽略两个DataFrames中的索引值,运行:

df_datetime['newcol'] = df_regular.col.values

结果是:

             N1  newcol
Dat                    
2019-09-01  120      23
2019-09-02  130      26
2019-09-03  140      48
2019-09-04  150      51
2019-09-05  160      62