我是python和pandas的新手。我无法发现Series转换中的错误
我有一个带有日期列CFB_FECHAINICIO的数据框,我将其格式化为新列'fecha'中的DateTimeIndex:
df['fecha']= pd.DatetimeIndex(df.CFB_FECHAINICIO)
df.fecha.head()
0 2015-01-01 21:44:01
1 2015-01-02 22:50:50.867000
2 2015-01-05 00:26:04.387000
3 2015-01-07 00:10:03
4 2015-01-07 23:47:18
Name: fecha, dtype: datetime64[ns]
所以看来我的datetime64列索引还可以。
我想在时间序列中保留另一列df.MG
ts = pd.Series(df.MG.dropna())
ts.head()
20 4.60
29 4.67
33 4.41
34 4.44
35 4.56
Name: MG, dtype: float64
但是当我使用“ fecha”作为索引时,ts值显示为NaN
ts = pd.Series(df.MG.dropna(),index=df.fecha.dropna())
ts.head()
2015-01-02 22:50:50.867000 NaN
2015-01-08 23:08:30 NaN
2015-01-09 21:46:14 NaN
2015-01-14 23:28:13 NaN
2015-01-29 00:24:46 NaN
Name: MG, dtype: float64
我已验证所有值都显示为NaN,而不仅仅是第一个。
我在做什么错的任何线索吗?
提前致谢
最佳答案
编辑:我找到了一种解决方案,不确定是否是最好的解决方案,但它可以工作。我将其张贴在这里,以防它有所帮助或你们中的任何一个找到更好的。
df.set_index('fecha',inplace=True)
ts = pd.Series(df.MG.dropna())
ts.head()
fecha
2015-01-29 00:24:46 4.60
2015-02-10 23:24:50 4.67
2015-02-17 00:20:35 4.41
2015-02-18 00:18:38 4.44
2015-02-18 22:58:48 4.56
Name: MG, dtype: float64
关于python - 需要在 Pandas 中使用Series()转换的帮助,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29096759/