python - 在 pandas 中将带有 NaN 的字符串转换为 int

标签 python pandas

我有一个 pandas 数据框,所有值都是字符串。一些是'None's,其余的是整数但是是字符串格式,例如'123456'。我如何将所有“无”转换为 np.nan,并将其他转换为整数,例如 123456。

df = {'col1': ['1', 'None'], 'col2': ['None', '123']}

将 df 转换为:

df = {'col1': [1, NaN], 'col2': [NaN, 123]}

最佳答案

使用下面的代码:

print(df.replace('None', np.nan).astype(float))

输出:

   col1   col2
0   1.0    NaN
1   NaN  123.0

你必须使用replace

附言如果 df 是一个字典,先转换它:

df = pd.DataFrame(df)

关于python - 在 pandas 中将带有 NaN 的字符串转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55584352/

相关文章:

python - 从 float 到 date Pandas 的多列

python - 存储时间序列数据时,将日期设置为 _id 是个好主意吗?

python - 使用 df.apply 返回满足条件的行数

python - 在 python 中对多维 JSON 对象进行排序

python - 模拟 Tornado AsyncHTTPClient 请求/响应

python - 用 Python 中之前出现的数字填充空列

python - 列 Pandas 数据帧的每一行中包含的列表中的总和值

python , Pandas : Assign cells in dataframe to groups

python - 按字符串列中最后 3 个字符选择行

python - 如何序列化 PySpark GroupedData 对象?