获取 NaN 将 pandas Dataframe 转换为 Series

Getting NaN converting pandas Dataframe to Series

我正在尝试根据

的已接受答案将 pandas Dataframe 转换为 Series

但是我在我的整数列中得到 NaN 'y'。

这是我的代码:

data = [['2021-10-14 18:12:00.000', '22811316'],['2021-10-14 18:42:00.000', '22700704']]
df = pd.DataFrame(data, columns = ['ds', 'y'])
series = pd.Series(df.y, index=df.ds)

印刷系列给我:

ds
2021-10-14 18:12:00.000    NaN
2021-10-14 18:42:00.000    NaN
Name: y, dtype: object

我错过了什么?

我可以在

中找到答案

诀窍是使用:

series = pd.Series(df.y.values, index=df.ds)

如果你只取序列 df.y,你将得到一个序列 new 索引从 0, 1, ...

print(df.y)

0    22811316
1    22700704
Name: y, dtype: object

这些索引与您要用作索引的列 ds 的值不匹配。
因此,当您使用 index=... 创建新系列时,您可能会拥有所有 NaN.

为了仅将 y 列的值放入新系列中,您必须使用 to_numpy()

仅获取其值
series = pd.Series(df.y.to_numpy(), index=df.ds)
print(series)

ds
2021-10-14 18:12:00.000    22811316
2021-10-14 18:42:00.000    22700704
dtype: object