gpt4 book ai didi

Python pandas 系列 : convert float to string, 保留空值

转载 作者:太空宇宙 更新时间:2023-11-04 02:53:37 25 4
gpt4 key购买 nike

如何在转换为字符串后保留空值?我正在处理社会安全号码,需要在 float 和字符串之间来回切换。

import pandas as pd
import numpy as np
x = pd.Series([np.nan, 123., np.nan, 456.], dtype = float)
x.isnull()

...有空值

y = x.astype(str)
y.isnull()

...没有空值

理想情况下 x.isnull() 和 y.isnull() 应该是一样的。

我认为使用 Series 的混合数据类型是危险的,但认为这是目前最好的解决方案:

z = y.copy()
z[z == 'nan'] = np.nan
z.isnull() # works as desired
type(z[0]) # but has floats for nulls
type(z[1]) # and strings for values

最佳答案

我也遇到过这个问题,但是对于DataFrames。一种适用于 pandas Series 和 DataFrame 的方法是使用 mask():

data = pd.Series([np.NaN, 10, 30, np.NaN]) # Also works for pd.DataFrame
null_cells = data.isnull()
data = data.astype(str).mask(null_cells, np.NaN)

关于Python pandas 系列 : convert float to string, 保留空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43125729/

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