标签分类 技术文章:
当前位置:首页 > Python技术文章 > Pandas DataFrame缺失值的查找

Pandas DataFrame缺失值的查找与填充知识点总结

  • 发布时间:
  • 作者:码农之家原创
  • 点击:169

这篇文章主要知识点是关于Pandas、DataFrame、缺失值、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python自动化运维:技术与最佳实践
  • 类型:Python大小:150.4 MB格式:PDF出版:机械工业出版社作者:刘天斯
立即下载

更多Python相关的学习资源可以参阅 Python电子书程序设计电子书 等栏目。

Pandas DataFrame缺失值的查找

查看DataFrame中每一列是否存在空值:

temp = data.isnull().any() #列中是否存在空值
print(type(temp))
print(temp)

结果如下,返回结果类型是Series,列中不存在空值则对应值为False:

<class 'pandas.core.series.Series'>
eventid        False
iyear         False
imonth        False
iday         False
approxdate       True
extended       False
resolution       True
...
Length: 135, dtype: bool

列数太多,可以将Series转化为DataFrame不存在空值的列:

colnull=pd.DataFrame(data={'colname': temp.index,'isnulls':temp.values})
#print(colnull.head())
#不存在空值的列名
print(colnull.loc[colnull.isnulls==False,'colname'])

结果如下:

0       eventid
1        iyear
2        imonth
3         iday
...
Name: colname, dtype: object

如下取出某一列(nkill)存在空值的记录,返回一个DataFrame:

data[data.nkill.isnull()]

缺失值填充,inplace值为真代表直接在原DataFrame上进行操作:

data['doubtterr'].fillna(0, inplace=True)
data['propvalue'].fillna(data['propvalue'].median(),inplace=True)
 

以上这篇对Pandas DataFrame缺失值的查找与填充示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于Python的全部知识点内容总结,大家还可以在下方相关文章里找到如何由java转学python、 python ddt数据驱动实例代码、 python测试opencv时imread导致、 等python文章进一步学习,感谢大家的阅读和支持。

上一篇:python中的高效迭代器函数用法总结

下一篇:python开发游戏的准备和必要步骤

展开 +

收起 -

学习笔记
网友NO.158172

python将pandas datarame保存为txt文件的实例

CSV means Comma Separated Values. It is plain text (ansi). The CSV ("Comma Separated Value") file format is often used to exchange data between disparate applications. The file format, as it is used in Microsoft Excel, has become a pseudo standard throughout the industry, even among non-Microsoft platforms. TXT is not really a file format, and it could mean multiple things in different contexts. Generally you export tables in either CSV (comma separated values) or TSV (tab separated values). Which you should choose depends mainly on your data: if your data has commas in it but not tabs, you should go for TSV. # -*- coding: UTF-8 -*-import sysimport jsonreload(sys)sys.setdefaultencoding('utf-8') import pandas as pdimport numpy as np #读取excel保存成txt格式excel_file = pd.read_excel("text.xlsx")excel_file.to_csv('excel2txt.txt', sep='\t', index=False) 参考:https://stackoverflow.com/questions/41428539/data-frame-to-file-txt-python/41514539 以上这篇python将pandas datarame保存为txt文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

网友NO.182946

Pandas之排序函数sort_values()的实现

一、sort_values()函数用途 pandas中的sort_values()函数原理类似于SQL中的order by,可以将数据集依照某个字段中的数据进行排序,该函数即可根据指定列数据也可根据指定行的数据排序。 二、sort_values()函数的具体参数 用法: DataFrame.sort_values(by=‘##',axis=0,ascending=True, inplace=False, na_position=‘last') 参数说明 参数 说明 by 指定列名(axis=0或'index')或索引值(axis=1或'columns') axis 若axis=0或'index',则按照指定列中数据大小排序;若axis=1或'columns',则按照指定索引中数据大小排序,默认axis=0 ascending 是否按指定列的数组升序排列,默认为True,即升序排列 inplace 是否用排序后的数据集替换原来的数据,默认为False,即不替换 na_position {‘first',‘last'},设定缺失值的显示位置 三、sort_values用法举例 创建数据框 #利用字典dict创建数据框import numpy as npimport pandas as pddf=pd.DataFrame({'col1':['A','A','B',np.nan,'D','C'], 'col2':[2,1,9,8,7,7], 'col3':[0,1,9,4,2,8]})print(df) col1 col2 col30 A 2 01 A 1 12 B 9 93 NaN 8 44 D 7 25 C 7 8 依据第一列排序,并将该列空值放在首位 #依据第一列排序,并将该列空值放在首位print(df.sort_values(by=['col1'],na_position='first')) col1 col2 col33 NaN 8 40 A 2 01 A 1 12 B 9 95 C 7 84 D 7 2 依据第二、三列,数值降序排序 #依据第二、三列,数值降序排序print(df.sort_values(by=['col2','col3'],as……

网友NO.878106

详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法

在用pandas包和numpy包对数据进行分析和计算时,经常用到DataFrame和array类型的数据。在对DataFrame类型的数据进行处理时,需要将其转换成array类型,是以下列出了三种转换方法。 首先导入numpy模块、pandas模块、创建一个DataFrame类型数据df import numpy as npimport pandas as pddf=pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]}) 1.使用DataFrame中的values方法 df.values 2.使用DataFrame中的as_matrix()方法 df.as_matrix() 3.使用Numpy中的array方法 np.array(df) 三种方法效果相同,都能实现DataFrame到array的转换,效果如下。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。 ……

网友NO.560382

解决pandas 作图无法显示中文的问题

最近开始使用 pandas 处理可视化数据,挖掘信息。但是在作图时遇到,无法显示中文的问题。 下面这段代码是统计 fujian1.csv 文件中 City 所在列中各个城市出现次数的代码。可是作图直方图时在 x 轴上无法显示中文。 import pandas as pd# Reading data locallydf = pd.read_csv('fujian1.csv', encoding='gbk')counts = df['City'].value_counts()counts[counts 1000].plot(kind = 'bar') 查了一些资料,找到的原因是 matplotlib 包默认只支持 ASCII 码,不支持 unicode 码。 解决方法, 就是需要将 matplotlib 的安装目录下的 matplotlibrc 配置文件修改一下,将font.family 部分(大概在139行左右)注释去掉,并且在 font.serif 和 font.sans-serif 支持字体加上一个中文字体,如 SimHei: font.family : sans-serif#font.style : normal#font.variant : normal#font.weight : medium#font.stretch : normal# note that font.size controls default text sizes. To configure# special text sizes tick labels, axes, labels, title, etc, see the rc# settings for axes and ticks. Special text sizes can be defined# relative to font.size, using the following values: xx-small, x-small,# small, medium, large, x-large, xx-large, larger, or smaller#font.size : 12.0font.serif : SimHei, Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, seriffont.sans-serif : SimHei, Bitstream Vera San……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明