来自数据框的时间序列丢失值
Time series from dataframe loses values
我有 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
我有 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