插入数据帧的Pandas系列读作NaN

时间:2018-06-14 07:57:31

标签: python pandas dataframe series

我发现在将基于相同时间段的系列添加到现有数据帧时,它会被导入为NaN。数据框有一个字段列,但我不明白为什么它应该改变任何东西。要查看我的代码的步骤,您可以查看附加的图像。希望有人能帮忙!

Illustration showing how the dataframe that the series is inserted into and how it gets read as NaN

1 个答案:

答案 0 :(得分:0)

假设字段索引列中的值为"实际"对于每一行,解决方案可能如下:

test.reset_index().set_index('Date').assign(m1=m1)

该解决方案有效,但可以缩短时间:

days = pd.to_datetime(['2018-01-31', '2018-02-28', '2018-03-31'])
df = pd.DataFrame({'Field': ['Actual']*3, 'Date': days, 'Val':[1, 2, 3]}).set_index(['Field', 'Date'])
m1 = pd.Series([0, 2, 4], index=days)

df.reset_index(level='Field').assign(m1=m1)
    Field   Val m1
Date            
2018-01-31  Actual  1   0
2018-02-28  Actual  2   2
2018-03-31  Actual  3   4
不过,这将是一个不错的mcve