繁体   English   中英

在Python中用空格替换nan

[英]Replacing nan with blanks in Python

以下是我的数据框:

Id,ReturnCreated,ReturnTime,TS_startTime
O108808972773560,Return Not Created,nan,2018-08-23 12:30:41
O100497888936380,Return Not Created,nan,2018-08-18 14:57:20
O109648374050370,Return Not Created,nan,2018-08-16 13:50:06
O112787613729150,Return Not Created,nan,2018-08-16 13:15:26
O110938305325240,Return Not Created,nan,2018-08-22 11:03:37
O110829757146060,Return Not Created,nan,2018-08-21 16:10:37

我想用Blanks替换nan。 试过下面的代码,但它不起作用。

import pandas as pd
import numpy as np
df = pd.concat({k:pd.Series(v) for k, v in ordercreated.items()}).unstack().astype(str).sort_index()
df.columns = 'ReturnCreated  ReturnTime  TS_startTime'.split()
df1 = df.replace(np.nan,"", regex=True)
df1.to_csv('OrderCreationdetails.csv')

请帮助我了解我哪里出错了,我该怎样才能解决问题。

您应该尝试DataFrame.fillna()方法

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html

在你的情况下:

df1 = df.fillna("")

应该工作我想

我认为nan是字符串,因为.astype(str) 所以需要:

df1 = df.replace('nan',"")

要么你可以使用df.fillna("") (我认为会表现更好)或简单地用空白替换这些值

df1 = df.replace('NaN',"")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM