pandas计算含缺失值中列平均值Python数据分析缺失数据

上传人:仙*** 文档编号:106009697 上传时间:2022-06-13 格式:DOC 页数:6 大小:327KB
收藏 版权申诉 举报 下载
pandas计算含缺失值中列平均值Python数据分析缺失数据_第1页
第1页 / 共6页
pandas计算含缺失值中列平均值Python数据分析缺失数据_第2页
第2页 / 共6页
pandas计算含缺失值中列平均值Python数据分析缺失数据_第3页
第3页 / 共6页
资源描述:

《pandas计算含缺失值中列平均值Python数据分析缺失数据》由会员分享,可在线阅读,更多相关《pandas计算含缺失值中列平均值Python数据分析缺失数据(6页珍藏版)》请在装配图网上搜索。

1、pandas计算含缺失值中列平均值_Python数据分析缺失数据.(10)几乎任何一个数据集都含缺失数据。缺失数据有多种表示形式。在数据库中,缺失数据表示为NULL值;在某些编程语言中使用NA表示。根据数据的来源,缺失值可能是空存字符串(“)或数值(比如88或99)。在Pandas值使用NaN表示缺失值。Pandas中的NaN值来自NumPy库,在NumPy中,缺失值有几个表达形式:NaN、NAN或者nan,但它们都是等同的。缺失值和其它类型的数据不同,实际上它们无甚意义。数据缺失了,也就无所谓等于或不等于NaN也不等同于0或者空字符串(“)。Pandas可以使用isnull方法测试某个值是否

2、为缺失值,notnull方法也可用于判断某个值是否为缺失值。数据加载时Pandas会自动查找缺失数据单元,并在DataFrame中对该单元给出一个NaN值。在read_csv函数中,有3个参数与缺值的读取有关:na_values、keep_default_na和na_filter。na_values参数允许指定额外的缺失值或NaN值,读取文件时,可用传入Pythonstr或列表对象,自动将其编码为缺失值。当然,现有默认缺失值(如NA、NaN、NAN)可用,因此该参数并不常用。有些良好数据可能会把99指定为缺值,只要设置na_values=99即可。keep_default_na参数是布尔值,它

3、允许指定是否要把其它任何视为缺失值。默认情况下该参数为True,这意味着使用na_values参数额外指定的缺失值都会追加到缺失值列表中,不过也可用把keep_default_na设置为False(keep_default_na=False),这将只使用na_values中指定的缺失值。na_filter参数也是布尔值,用于指定某些值是否会被解读成“缺失值”。默认情况下,na_filter=True表示缺失值会被编码为NaN。如果设置na_filter=False,那么不会将任何值重新编码为“缺失值。可用把该参数看作关闭na_values和keep_default_na参数设置的一种方法,想通

4、过加载不包含缺失值的数据来提升性能时经常使用它。visited_file=survevisit-ed曾print(pd?read_c$v(visiidentsitedatde619DR-11027-02-681622DR-11R2.7-02-102734DR-31-01*973735DR-31930-01-124751DR-3193-02-26&?S2DR-3NaN6.S37MSK-419327844-DR-112-03-22prinitku1False)identsitedated&619DR-11927-02-081622DR-11027-021G2734DR-33935-01-07373

5、5DR-54751DR1930-022657S2DR-3gS37N5K-41932-01-141B44DR-1132-0J-22prlntfpd-readlCsvviSiitedfilSj,navaluessfkeepdefaulTnasFalse)IdentSitedated0619DR11927-02-081622DR11927-02-IB2734DRj1939-01-073735DR33930-01-124751DR319902265752DR3NaN合并输出中出现缺失值visited=pd.irBadl.匚毎”(牙刍it已dc5vr,)survey三pdlread_civsurveys

6、urveyc&v)vs二visitedwinergesum/eyIwFt.on二iderrt;1,ri11aken1)print(vs)identsitedatedtakenpersonquantreading0619胆-11927-52-W619dyerrad9hB21619DR-11927-G2-986J9dyersal0.132622DR-11927-02-10血dyerrad?.seS622DR-11327-02-16622djersale.94734DR-3199-01-07734Pbrad.415734DR-319S9-B1-07734lake空呂10.056734CR-31939

7、-02-37734Ptterp-21.773SDR-3193&-01-1273&Ptrad7,22873S3R-21930-91-1273&隔Msal日廊973SDR-31930-01-1273NaNteTp-26.06107S1CRT1930-02-267S1Ptrad4.3511751DR-31939-026751Pt*temp-is.se12751?RiQ1Treagi也可用自行创建缺失值,比如依据计算或人工向量来创建值向量。对应Series和DataFrame来说,NaN是有效值。num_legs二pdSeries(goat*:4#amoeba:nan)print(numlegs)go

8、at4.0amoebaNaNdtype:float64df=pd.DataFran:e(name:Rosaline1,wllianft*occ1:chemiststatistician*,born-:1920-07-25J1876.06-13,died:11958-05-161/1937-10-16,missing:NaNnan)print(df)nameoccborndiedmissing0Rosalinechemist1920-67-251958-05-15NaN1wlliamstatistician1876-06-131937-10-16NaNdfl二pd.DataFrame(,name

9、,:Rosalinewlliam*,*occ*:chemiststatistician*,born:,1929-07-25,1876-06-13,died1:,1958-05-16,/1937-10-16,)dflmissing*=nanprint(dfl)nameoccborndiedmissingdf_ebola=pd.read_csv(courrtrytimeseniescsv)df_ebola.head()DateDayCases_GuineaCase$_LiberiaCa$e$_SierraLeone01/5/20152892776.0NaN10030.011/4/201528827

10、75.0NaN9780.021/3/20152872769.08166.09722.031/2/2015286NaN8157.0NaN412/31/20142842730.08115.09633.0#统计非缺失值的个数print(df_ebolacount()Date122Day122Cases_Guinea93Cases_Liberia83Cases_SierraLeone87CasesNigeria38Cases_Senegal25Cases.UnitedStates18Cases_Spain16CasesJIali12Deaths_Guinea92Deaths_Liberia81Deat

11、hs_SierraLeone87Deaths_Nigeria38DeathsSenegal22Deaths_UnitedStates18Deaths_Spain16Ma!i1?ffW疔数减去不包泮缺先屈矽疔欽num_raws=d-F_ebolaTshapefmjm_missing=num_row5-d-febola.ccunt()prin七(num!_miEsin呂)a:3984971041枚6lieDateDayCases_Gulea匚asesLiberis匚ases_SierraLeonmC165_Nieri诵Cases_SenegalCases_UnitedStat皀sCases_$pa

12、inCasesMaliDeath&_Guinea北Deaths_Liberia41Deat?i_SLerraLeone35Deaths_Nigeri384Deaths_sertegal100Deaths_UnitedStates104Deaths_Spain106iMaii116如果想统计数据中缺失值的总数,或者特定列中缺失值的个数,可用使用Numpy中的count_nonzero函数和isnull方法。也可以使用Series的value_counts方法获取缺失值个数。impartnuTipasnpprintnp.coifnt_nonzero(df_ebola.isnirll()12丄4pr

13、int(np.count_nonzero(d-F_ebolafasesuinea.lsnull(j)29print(df_ebolaCjses_Quinea,vaLue_counti(dropna=False).head()Nan博86h03492llS-fl2处理缺失数据的方法有多种。比如可以用其它值替换缺失数据,使用现有数据填充缺失数据,或者直接将其数据集中删除。重新编码/替换,可以使用fillna方法把缺失值重新编码为其它值。比如把缺失值重新编码为0。pr1nt(cJfehQla.-fi11na(a).Hoc(fl:10e:s)加#Ci5_CuinwCj?es_Libia01/S/29L

14、52曲277.00.01&03-0.011/4/2&152775.95780.021/3/2&15缈2769.08166.0722.63V2/2&L5412/3丄/2.白1427S&.08115.052&12兀冶昶埠0612/27/20114.2M5,E.0712/24/2&14277药3罠07977.69203.0可以使用fillna方法把缺失值重新编码为特定值。查看文档,就会发现fillna和其它许多Pandas函数一样有inplace参数。开启该参数意味着直接在原始数据上进行改动,并不会新建副本。对于大型数据,若想保存代码高效,可以使用该参数。对于缺失值,可以使用内置方法做前填充(fil

15、lforward)或后值填充(fillbackward)。做前值填充时,将按照前一个值填充缺失值,这样缺失值就会被最后的已知值或被记录的值所替代。pri.nt(d-tf_ebal3.-Fillna(HiartlYNlcifflll4).ilcc0:ljPat&e1/5/2151 1/4/2011&2 1/3/2153 1/2/eisQ12/31/2145 12/28/2146 12/27/7 12/2/23114J7TS月2T柚027J&.&2765.e38用血nnshQ166.ES1578115.6 8M&.&seis.7977.6978009722-e97Z2.0対4S.总0曲总9293,

16、如果某一列以缺失值开始,那么该缺失值会继续存在,因为它前面没有值,也就无法执行前值填充操作。填充缺失值时,也可以采用后值填充法。这种方法以最新值替换缺失值,这样缺失值就全被替换成了最新值。printCdebola.Ellina(method=bf111).llocf:jDateDayCase5_GuineaCaiesLiberiaCase&_5itrraLeone1173/27/2G14s193.eG.eILS3/26/20144&6.0IMSNMan1193/25/50143INaNtlaN如果某一列以缺失值结束,那么该缺失值会继续存在,因为它后面没有值了,也就无法执行后值填充操作。插值使用

17、现有值来填充缺失值。填充缺失值的方法有多种,Pandas中的插值方法默认以线性方式填充缺值。具体而言,它会把缺失值视为等距分隔值。DateDay匚35e5_6uxneaCsses_LiberiaCases_&ierraleoneL/V201&2阳277&,NaNl轴强冷1/4/2015z&a2775.0HaN9780,01/3/M15J&72769.68166.69722.fl1/2/20152詰2749.5S157.0$677.512/31/2814缈2730-0115,09&33011/28/2A142&-1270&-eeis.e944612/27/20142002695-07997*5爭

18、卿12/24/20142772630,e7977+9293.0printt.df_eboLa.interpclate9;5)246处理缺失数据的另一种方法是删除含有缺失数据的观测值或变量。不同数据集包含的缺失数据数量不同。对于某些数据集,如果只保留完整数据,那么最终得到的数据集很可能是无用的。或许缺失数据不是随机的,删除缺失值后,会得到有偏差的数据集。只保留完整数据也可能导致数据不足,无法开展分析。可以使用dropna方法删除缺失数据,并且可以通过设置参数控制删除方式。缺失值计算,只有在不含缺失值时,才会计算Cases_multiple的值。如果计算中包含缺失值,通常都会返回缺失值。当然,如果

19、调用的函数或方法在计算中能忽略缺失值,就另当别论了。df_eb&laCaseS-multiple=df_ebolarCase5_Guinea!+dflebala1CaseslLibtria1+df_ebolaCase&_SierraLeoned卒jebolasub$et=df_ebola-loc:fcCases_Guineafc.cae$_lIberiaXase&_SierrsLeone*3V日5-es_multipleprintdf_&bola_subset.(IB)tases&uln&aca5eswLlberlaCasesSierraLeon&casesultlple02776.eNaN1

20、0030_&NaN12775-eNaN9?ae.0NaN22769.08166.09722-920657-03NaN81S7u0MMNaN4273&.S8115.6$633.a2B478.e52706-08018-09446.020170-062)69轧0NaN945-0NaN7托姒079口用9203-19810.9可以忽略缺失值的内置方法有mean和sum。这些函数通常有skipna参数,通常该参数指定计算时是否忽略缺失值。盹耳ipn口舉咖劇H耀为Trve占曲思略皱矢惶print(df_ebola.Cases_Guinea,5umskipna=True)34729.0printfdf_ebo

21、laBCdses_6ulne.sumfakipna二False)几乎所有数据集都包含缺失值,因此掌握处理缺失值的方法很重要。即使处理的数据是完整的,在整理数据的过程中也可能产生缺失值。资料:提取码:0012相关阅读:数据分析Pandas运用|DataFrame基础知识.(7-1)数据分析Pandas运用|DataFrame基础知识.(7-2)数据分析Pandas运用|DataFrame基础知识.(7-3)数据分析Pandas运用|DataFrame基础知识.(7-4)Python数据分析Pandas运用|Pandas数据结构SeriesandDataFrame.(8)Python数据分析Pandas运用|Pandas数据结构SeriesandDataFrame.(8-2)Python数据分析Pandas运用|Pandas数据结构SeriesandDataFrame.(8-3)Python数据分析|数据处理.(9)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!