9
我试图在等于另一个pandas DataFrame中的值的pandas DataFrame中生成一个新列。当我尝试创建新列时,我只是获取新列值的NaN。将新列添加到熊猫时的NaN值DataFrame
首先我使用API调用来获取一些数据,和“MYDATA”据帧是按日期
mydata = Quandl.get(["YAHOO/INDEX_MXX.4"],
trim_start="2001-04-01", trim_end="2014-03-31",
collapse="monthly")
下一个数据帧我从CSV获得与下面的代码索引数据的一列,并它包含了许多列数据具有相同的行数为“MYDATA”
DWDATA = pandas.DataFrame.from_csv("filename",
header=0,
sep=',',
index_col=0,
parse_dates=True,
infer_datetime_format=True)
然后我尝试生成这样的新列:
DWDATA['MXX'] = mydata.iloc[:,0]
同样,我只是得到NaN值。有人可以帮助我理解为什么这样做以及如何解决?从我看过的内容看,我的索引可能有些问题。索引是每个DataFrame中的日期,但'mydata'具有月末日期,而'DWDATA'具有月初日期。
如果指数不重叠(如你描述),那么你确实会得到NaNs。您必须更改两者中的一个的索引,或者如果您确定行数完全相等,则只需将这些值(无索引)放入新列(“mydata.iloc [:,0] .values' ) – joris 2014-10-06 17:36:56
添加'.values'确实奏效!谢谢@joris,我会记住这些指标在将来必须是平等的! – gtnbz2nite 2014-10-06 17:42:48