我有一个Pandas Dataframe,如下所示:我想用一个空字符串删除NaN值,使其看起来像这样:
xuo3flqw1#
df = df.fillna('')
这将填充na’s(例如NaN's)与''。inplace是可能的,但应避免为it makes a copy internally anyway, and it will be deprecated:
''
inplace
df.fillna('', inplace=True)
要仅填充单个列,请执行以下操作:
df.column1 = df.column1.fillna('')
可以使用df['column1']代替df.column1。
df['column1']
df.column1
slhcrj9b2#
import numpy as np df1 = df.replace(np.nan, '', regex=True)
这个可能会有帮助它将用空字符串替换所有NaN。
h5qlskok3#
如果您从文件(例如CSV或Excel)阅读 Dataframe ,则用途:
df.read_csv(path , na_filter=False)
df.read_excel(path , na_filter=False)
这将自动将空字段视为空字符串''如果您已经有了 Dataframe
df = df.replace(np.nan, '', regex=True)
myzjeezk4#
使用格式化程序,如果您只想格式化它,以便它在打印时呈现得很好。只需使用df.to_string(... formatters来定义自定义字符串格式,而无需不必要地修改DataFrame或浪费内存:
df.to_string(... formatters
df = pd.DataFrame({ 'A': ['a', 'b', 'c'], 'B': [np.nan, 1, np.nan], 'C': ['read', 'unread', 'read']}) print df.to_string( formatters={'B': lambda x: '' if pd.isnull(x) else '{:.0f}'.format(x)})
获取:
A B C 0 a read 1 b 1 unread 2 c read
moiiocjp5#
试试这个添加inplace=True
inplace=True
import numpy as np df.replace(np.NaN, '', inplace=True)
kiayqfof6#
使用keep_default_na=False可以帮助您:
keep_default_na=False
df = pd.read_csv(filename, keep_default_na=False)
nukf8bse7#
如果您正在将DataFrame转换为JSON,则NaN将给予错误,因此在此用例中,最佳解决方案是将NaN替换为None。具体操作如下:
NaN
None
df1 = df.where((pd.notnull(df)), None)
pbossiut8#
我尝试用nan处理一列字符串值。删除nan并填充空字符串:df.columnname.replace(np.nan,'',regex = True)要删除nan并填充一些值,请执行以下操作:df.columnname.replace(np.nan,'value',regex = True)我也试过了。但是它需要列的索引。所以你得再看一遍table简单地,上述方法减少了一个步骤。
df.columnname.replace(np.nan,'',regex = True)
df.columnname.replace(np.nan,'value',regex = True)
8条答案
按热度按时间xuo3flqw1#
这将填充na’s(例如NaN's)与
''
。inplace
是可能的,但应避免为it makes a copy internally anyway, and it will be deprecated:要仅填充单个列,请执行以下操作:
可以使用
df['column1']
代替df.column1
。slhcrj9b2#
这个可能会有帮助它将用空字符串替换所有NaN。
h5qlskok3#
如果您从文件(例如CSV或Excel)阅读 Dataframe ,则用途:
这将自动将空字段视为空字符串
''
如果您已经有了 Dataframe
myzjeezk4#
使用格式化程序,如果您只想格式化它,以便它在打印时呈现得很好。只需使用
df.to_string(... formatters
来定义自定义字符串格式,而无需不必要地修改DataFrame或浪费内存:获取:
moiiocjp5#
试试这个
添加
inplace=True
kiayqfof6#
使用
keep_default_na=False
可以帮助您:nukf8bse7#
如果您正在将DataFrame转换为JSON,则
NaN
将给予错误,因此在此用例中,最佳解决方案是将NaN
替换为None
。具体操作如下:
pbossiut8#
我尝试用nan处理一列字符串值。
删除nan并填充空字符串:
df.columnname.replace(np.nan,'',regex = True)
要删除nan并填充一些值,请执行以下操作:
df.columnname.replace(np.nan,'value',regex = True)
我也试过了。但是它需要列的索引。所以你得再看一遍table简单地,上述方法减少了一个步骤。