下面是我的数据框:
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')
请帮助我了解我要去哪里以及如何解决该问题。
答案 0 :(得分:2)
您应该尝试使用DataFrame.fillna()方法
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html
在您的情况下:
df1 = df.fillna("")
我认为应该可以工作
答案 1 :(得分:1)
我认为nan
是字符串,因为.astype(str)
。因此需要:
df1 = df.replace('nan',"")
答案 2 :(得分:1)
您可以使用df.fillna("")
(我认为这样做会更好),也可以简单地将这些值替换为空白
df1 = df.replace('NaN',"")