我有2个数据帧,df1
和df2
大小相同,df1
有date
列,df2
有float
列。当我做到以下几点:来自数据帧的时间序列丢失值
series = pandas.Series(df2['float'], df1['date'])
时间序列上的值都是NaN
。在做之前我已经检查过两个数据帧都有数据。我究竟做错了什么?
我有2个数据帧,df1
和df2
大小相同,df1
有date
列,df2
有float
列。当我做到以下几点:来自数据帧的时间序列丢失值
series = pandas.Series(df2['float'], df1['date'])
时间序列上的值都是NaN
。在做之前我已经检查过两个数据帧都有数据。我究竟做错了什么?
这看起来像一个错误对我说:
In [29]:
df = pd.DataFrame({'date':[dt.datetime.now()]})
print(df)
df1 = pd.DataFrame({'float':[2.1145]})
df1
date
0 2015-02-23 11:23:03.550538
Out[29]:
float
0 2.1145
In [30]:
pd.Series(df1['float'], df['date'])
Out[30]:
date
2015-02-23 11:23:03.550538 NaN
Name: float, dtype: float64
它的工作原理,如果你调用属性.values
:
In [31]:
pd.Series(df1['float'].values, df['date'])
Out[31]:
date
2015-02-23 11:23:03.550538 2.1145
dtype: float64
这看起来像一个普通的错误:
In [34]:
df3 = pd.DataFrame({'int':[323]})
df3
Out[34]:
int
0 323
的以下组合全部失败:
In [39]:
pd.Series(df2['float'], df3['int'])
Out[39]:
int
323 NaN
Name: float, dtype: float64
In [40]:
pd.Series(df['date'], df2['float'])
Out[40]:
float
1.21554 NaT
Name: date, dtype: datetime64[ns]
In [41]:
pd.Series(df3['int'], df2['float'])
Out[41]:
float
1.21554 NaN
Name: int, dtype: float64
你在这里做什么?你想要浮点数或日期值作为索引,而另一个作为数据? – EdChum 2015-02-23 10:53:25
日期作为索引,因此第二个参数。 – 2015-02-23 11:15:52
我不知道这是否是一个错误,但以下工作:'系列= pandas.Series(df2 ['float']。值,df1 ['date'])' – EdChum 2015-02-23 11:17:13