将float dtype数据帧转换为字符串dtype数据帧(NaN变为'0')

时间:2020-06-02 07:47:55

标签: python pandas dataframe nan

这是我的代码:

    dfFact = pd.read_sql_query("select * from MusicFact;", conn)
    dfFact['artist'].fillna(0)
    dfFact['artist'].astype('Int64')
    dfFact['artist'] = dfFact['artist'].astype(str)

I am trying to convert the following dataframe into a string dataframe

但是在这种情况下,我所需的输出例如是'3','3','3','3','2','1','0','0'

我被卡住了,所以我以为我会来-谢谢你!

1 个答案:

答案 0 :(得分:0)

Series.fillna(如果不带inplace=True使用)将返回一个新序列,其缺失值填充有替换值。同样,Series.astype返回强制转换系列的副本。对于您而言,您没有将这些操作的结果分配给系列,因此更改不会在输出中传播。

只需使用:

dfFact['artist'] = dfFact['artist'].fillna(0).astype(int).astype(str)