时间:2021-05-22
我们日常拿到的数据,指标字段有时会混入非数字的数据,这时候会影响我们的操作
name height Hang 180 Ben 145 Cho notknow XIn 189比如read_csv读入时,该列会以object形式读入,也不能直接进行计算,不然会出现如unsupported operand type(s) for +: 'float' and 'str'的错误
这时候就需要进行数据预处理,清除掉指标值中非数字的数据,这里我以2012_FederalElectionCommission_Database数据为例。
首先读入数据,可以发现提示:Columns (6) have mixed types,这里Columns (6)是指标值混有字符串格式数据
fec = pd.read_csv('P00000001-ALL.csv')D:\SOFTWARE\Anaconda\lib\site-packages\IPython\core\interactiveshell.py:2717: DtypeWarning: Columns (6) have mixed types. Specify dtype option on import or set low_memory=False. interactivity=interactivity, compiler=compiler, result=result)#先使用str打开数据fec = pd.read_csv('P00000001-ALL.csv',dtype={'contbr_zip':str}) #然后使用str函数isdigit()判断单元格是否全为数字 fec_isnum=fec.iloc[:,6].str.isdigit() #得到使用bool索引把全为数字的表格cleaned cleaned = fec[fec_isnum].copy()补充:pandas如何去掉、过滤数据集中的某些值或者某些行?
在进行数据分析与清理中,我们可能常常需要在数据集中去掉某些异常值。具体来说,看看下面的例子。
pandas是很常用的数据分析,数据处理的包。anaconda已经有这个包了,纯净版python的可以自行pip安装。
数据集df中,对于属性appPlatform(最后一列),我们想删除掉取值为2的那些样本。
如何做?非常简单。
import pandas as pddf[(True-df['appPlatform'].isin([2]))]当然,有时候我们需要去掉不止一个值,这个时候只需要在isin([])的列表中添加。更具体来说,例如,对于appID这个属性,我们想去掉appID=278和appID=382的样本。
df[(True-df['appID'].isin([278,382]))]另外,我们有时候并不只是考虑某一列,还需要考虑另外若干列的情况。例如,我们需要过滤掉appPlatform=2而且appID=278和appID=382的样本呢?非常简单。
df[(True-df['appID'].isin([278,382]))&(True-df['appPlatform'].isin([2]))]其实,在这里我们看到,就是由两部分组成的,第一部分就是appID中等于278和382的,另外一部分就是appPlatform中等于2的。两者取逻辑关系 与(&)
上面我们是了解了如何取掉某个具体值,下面,我们要看看如何过滤掉某个范围的值。
对于数据集df,我们想过滤掉creativeID(第一列)中ID值大于10000的样本。
df[df['creativeID']<=10000]另外,如果要考虑多列的话,其实和上面一样,将两种情况做逻辑与(&)就可以,不过值得注意的是,每个条件要用括号()括起来。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
中文汉字排序、中英文混合排序、数据大小排序、文件类型排序(后缀名排序)日期时间排序、价格排序、中文混合数字排序;使用方法:文档载入后newtableListSo
Pandas最好用的函数Pandas是Python语言中非常好用的一种数据结构包,包含了许多有用的数据操作方法。而且很多算法相关的库函数的输入数据结构都要求是p
Pandas是Python中非常常用的数据处理工具,使用起来非常方便。它建立在NumPy数组结构之上,所以它的很多操作通过NumPy或者Pandas自带的扩展模
js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Null,Undefined),和一种混合数据类型(Object)。前面
load页面在混合APP的开发中非常的重要,因为混合开发部像是原生app,很多都需要提前加载数据,或者留出加载数据的时间,一个号的LOAD可以让APP更加的人性