我有两个长度相同的数据帧(39014行),一个以日期时间作为索引,另一个则是常规索引。我需要将一列复制到另一列中,但是在进行复制时,它会返回Nans
。我做到了:
df_datetime["newcol"]=df_regular["col"]
如果您选中newcol
中的df_datetime
列,则尽管Nan
的{{1}}列中有数字,但它仍充满了col
。为什么会这样呢?我该如何解决?谢谢!
也尝试过
df_regular
同样的事情发生
答案 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