gpt4 book ai didi

python - 使用 'object' 和 `int` 元素将 Pandas 系列转换为 `nan` dtype

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:41 25 4
gpt4 key购买 nike

<分区>

我有一个包含整数条目的系列,但也有一些空条目。它表示为带有 dtype=float64 的系列。我想将其转换为带有 dtype=object 的系列,其中整数条目存储为 Python ints,空条目存储为 np. nans.

下面我有两次尝试。第一个不起作用,因为 int(出乎意料?)仍然转换为 float。第二个工作如我所愿。

s = pd.Series([1, np.nan])

s = s.astype(object)
i = s.notnull()
s[i] = s[i].astype(int)

type(s[0])

以上代码段返回 float。 :(

s = pd.Series([1, np.nan])

s = s.astype(object)
i = s.notnull()
s[i] = list(s[i].astype(int))

type(s[0])

以上片段返回 int。 :)

为什么第一个示例不起作用,即使系列有 dtype=object?转换为 list 似乎是一个非常奇怪的 hack 来让它工作,但我找不到任何其他方法来做到这一点。

在 Pandas 中有更简单的方法吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com