获取 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
我正在尝试根据
但是我在我的整数列中得到 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