首页 > 解决方案 > 将字符串填充为“”,将数字填充为 -1 以将表格作为 json 传递

问题描述

import numpy as np
import pandas as pd
df_margin=pd.DataFrame({"item":["a","b","c",np.nan],"margin":[3,4,5,np.nan]})

从上面的代码给定下表,我想将字符串填充为“”,将数字填充为-1,如何自动假设我有很多列?

  item  margin
0    a     3.0
1    b     4.0
2    c     5.0
3  NaN     NaN

df_margin=pd.DataFrame({"item":["a","b","c",""],"margin":[3,4,5,-1]}) 期望的结果

  item  margin
0    a       3
1    b       4
2    c       5
3           -1

原因是我想将表格作为 json 传递,但它不支持 nan 值,也欢迎更好的方法。

标签: python-3.xpandas

解决方案


对于字符串

df_margin[df_margin.select_dtypes('object').columns] = df_margin.select_dtypes('object').fillna(' ')

对于数字

df_margin[df_margin.select_dtypes('number').columns] = df_margin.select_dtypes('number').fillna(-1)

推荐阅读