我有一个Pandas Dataframe,如下所示:

1    2       3

0  a  NaN    read

1  b    l  unread

2  c  NaN    read

我想用空字符串删除NaN值,以便它看起来像这样:

1    2       3

0  a  ""    read

1  b    l  unread

2  c  ""    read

稍微短一点是:

df = df.fillna('')

要不就

df.fillna('',inplace=True)

这将用''填充na(例如NaN)。

如果要填充单个列,可以使用:

df[column1] = df.column1.fillna('')

@Mithril - df[[column1,column2]] = df[[column1,column2]].fillna()

最好的答案!

import numpy as np

df1 = df.replace(np.nan, '', regex=True)

这可能有所帮助。它将用空字符串替换所有NaN。

np.nan来自哪个库?我不能用它

@CaffeineConnoisseur:import numpy as np。

@CaffeineConnoisseur - 或者只是pd.np.nan如果你不想import numpy那么。

这也允许将Dict保存为.csv行中的字符串,然后使用pd.DataFrame.from_dict(eval(_string_))将其读回DataFrame

提及... inplace=True选项也很有用。

如果您正在从文件(例如CSV或Excel)中读取数据框,请使用:

df.read_csv(path , na_filter=False)

df.read_excel(path , na_filter=False)

这会自动将空字段视为空字符串''

如果您已经拥有Dataframe

df = df.replace(np.nan, '', regex=True)

df = df.fillna('')

read_excel()上没有na_filter pandas.pydata.org/pandas-docs/stable/

我在我的申请中使用过它。它确实存在,但由于某种原因,他们没有在文档中给出这个论点。尽管没有错误,它对我很好。

它工作,我在解析xl.parse(sheet_name, na_filter=False)中使用它

很好的答案,但我意外地downvoted,现在不能upvote。

使用格式化程序,如果您只想格式化它,以便在打印时可以很好地呈现。只需使用df.to_string(... formatters定义自定义字符串格式,而无需不必要地修改DataFrame或浪费内存:

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

这是正确的答案

print df.fillna()本身(不做df = df.fillna())也不会修改原件。使用to_string有速度或其他优势吗?

很公平,df.fillna()就是这样!

@shadowtalker:不一定,如果OP想要将df保持为一种格式(例如,计算效率更高,或者在不必要/空/重复的字符串上保存内存),那么它只会是正确的答案,而是在视觉上呈现更多赏心悦目的。在不了解用例的情况下,我们无法肯定地说。

尝试这个,

添加inplace=True

import numpy as np

df.replace(np.NaN, ' ', inplace=True)

我尝试使用nan的一列字符串值。

要删除nan并填充空字符串:

df.columnname.replace(np.nan,'',regex = True)

要删除nan并填充一些值:

df.columnname.replace(np.nan,'value',regex = True)

我也试过df.iloc。但它需要列的索引。所以你需要再次查看表格。只需将上述方法缩小一步即可。

使用keep_default_na=False可以帮助您:

df = pd.read_csv(filename, keep_default_na=False)

如果要将DataFrame转换为JSON,NaN将给出错误,因此在此用例中最好的解决方案是将NaN替换为None。

方法如下:

df1 = df.where((pd.notnull(df)), None)

pandas 空字符串与na区别_关于python:Pandas用空白/空字符串替换NaN相关推荐

  1. python字符串能减吗_在python中减去两个字符串(Subtract two strings in python)

    在python中减去两个字符串(Subtract two strings in python) 我应该计算两个不同列表的元素之间的差异. 这是我的代码: import operator a = ['5 ...

  2. python字符串两个冒号_在Python中按冒号分割字符串

    我有一个提醒应用程序,我需要像一样打发时间3:30 a.m..我使用了re模块,但是失败了. 我想做的是在列表中的单词前面按冒号分隔时间.但是列表有多个单词.像一样 a.m.,am 程序应尝试输入单词 ...

  3. pandas 空字符串与na区别_pandas中对nan空值的判断

    pandas基于numpy,所以其中的空值nan和numpy.nan是等价的.numpy中的nan并不是空对象,其实际上是numpy.float64对象,所以我们不能误认为其是空对象,从而用bool( ...

  4. python字符串和字节串有什么区别_对于Python中的字节串bytes和字符串以及转义字符的新的认识...

    事情的起因是之前同学叫我帮他用Python修改一个压缩包的二进制内容用来做fuzz,根据他的要求,把压缩包test.rar以十六进制的方式打开,每次修改其中一个十六进制字符串并保存为一个新的rar用来 ...

  5. csv 20位数据 如何打开可以预览完整数字_干货Python Pandas 做数据分析之玩转 Excel 报表分析...

    本篇文章选自作者在 GitChat 的分享,若有什么问题,可在公众号回复「小助手」添加小助手微信,邀请你进入技术交流群. 各位朋友大家好,非常荣幸和大家聊一聊用 Python Pandas 处理 Ex ...

  6. java string 返回匹配正则的字符串的起始位置_【Python】正则表达式

    概述 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Pyth ...

  7. pandas 取excel 中的某一列_干货Python Pandas 做数据分析之玩转 Excel 报表分析

    本篇文章选自作者在 GitChat 的分享,若有什么问题,可在公众号回复「小助手」添加小助手微信,邀请你进入技术交流群. 各位朋友大家好,非常荣幸和大家聊一聊用 Python Pandas 处理 Ex ...

  8. postgresql 远程用户_构建Python pandas基于SSH远程MySQL和PostgreSQL的数据分析

    背景知识视频教程 Python中使用Pandas教程 - 国外课栈​viadean.com Pandas数据分析与探索 - 国外课栈​viadean.com 如果您无法从外部环境直接访问数据库,则可能 ...

  9. python字符串出栈方法_说说Python有几种字符串格式化?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

最新文章

  1. 美国域名总量跌至7971万:4月上旬降幅缩小32.4%
  2. android开发之Glide加载图片之url转bitmap的方法
  3. 【Pytorch神经网络理论篇】 05 Module类的使用方法+参数Parameters类+定义训练模型的步骤与方法
  4. mysql 线性表_数据结构之线性表
  5. Odoo与浪潮合资研发PS Cloud之如何配置和运行调度程序
  6. Facebook何恺明团队提出SlowFast网络,视频识别无需预训练
  7. 最全面、最详细的“前端模块化”总结
  8. URLSession实现iTunes搜索听歌
  9. 大众点评的实时监控系统分析
  10. 启动vpn报网络扩展错误(问题篇)
  11. 为防止已存储信息的u盘感染计算机病毒应该,为防止插入U盘后,通过U盘自动播放功能,被感染计算机病毒,应该将计算机中“自 - 问答库...
  12. P1600 天天爱跑步 解题报告
  13. obs多推流地址_腾讯推流直播教程OBS下载、安装、使用
  14. 使用DashPathEffect绘制一条动画曲线
  15. 好用的revit软件:MEP绘制管道风管时,提示不可见如何解决?
  16. 写给程序员的Flutter详细教程,大厂直通车!
  17. 索尼sw2刷android wear,SmartWatch2 apk下载|SmartWatch2 SW2软件安卓版下载 v1.6.31 - 跑跑车安卓网...
  18. java(小白)判断学生成绩
  19. 模拟实现atoi函数
  20. PKI 技术的意义与应用

热门文章

  1. jQuery----选择器
  2. DAY06-Python入门学习-元组、字典、集合类型
  3. java基础- 与null的区别
  4. 【每日一linux命令6】命令中的命令
  5. 【spark系列3】spark开发简单指南
  6. mybatis初学习
  7. Close window without alert
  8. 没想到我的粉丝里还有这么多C++er,瑞思拜!
  9. 保研生看过来!加入DUT Media Lab,科研没有不可能!
  10. OpenCV 4.3 来了!功能增加,性能加速,例程更丰富~