【小白从小学Python、C、Java】
【Python全国计算机等级考试】
【Python数据分析考试必会题】
● 标题与摘要
Python中缺失值的填充
fillna()函数
● 选择题
以下关于df.fillna(10,inplace=True)语句说法正确的是:
A 用10填补缺失值,df不发生改变
B 用10填补缺失值,df发生改变
C 该语句返回填补缺失值后的df
D 该语句的返回值为True
● 问题解析
1.df.fillna()函数的功能:该函数的功能是用指定的值去填充dataframe中的缺失值。
2.df.fillna()函数的基本语法:df.fillna(a,[inplace=False]),其中参数a表示的是常数或字典,若a为常数,则用常数a填充缺失值,若a为字典,则表示第key列的缺失值用key对应的value值填充,如:df.fillna({0:10,1:20}),表示用10去填充第0列的缺失值,用20去填充第1列的缺失值;inplace为可选参数,默认为False,表示不修改原对象,若指定inplace=True,则直接修改原对象。
3.df.fillna()函数的返回值:若指定inplace=True,则函数返回值为None,若未指定,则函数返回填充缺失值后的数据。
4.df.fillna()函数的用法补充:
4.1 指定method参数:
(1)method='ffill'或'pad',表示用前一个非缺失值去填充该缺失值,语法为df.fillna(method='ffill');
(2)method ='bflii'或'backfill',表示用下一个非缺失值填充该缺失值,语法为df.fillna(method='bflii');
4.2 指定limit参数和axis参数:limit参数用于指定每列或每行缺失值填充的数量,默认按列操作,axis参数用于指定对行还是对列操作。若axis=0,则对各行数据进行填充,若axis=1,则对各列数据进行填充,如:df.fillna(method='ffill', limit=1,axis=1)表示用上一个非缺失值填充该缺失值,且每行中只有一列被填充,因为method='ffill'并且limit=1,所以每行中只有最先出现缺失值的一列被填充,如附图2所示。
5.本题中:df.fillna(0,inplace=True)语句表示用0填补缺失值,因为指定inplace=True,所以df发生了改变,返回值为None。
● 附图
图1 df.fillna()函数的基本语法

图2 df.fillna()函数的用法补充

● 附图代码
import pandas as pd
import numpy as np
from numpy import nan as NaN
df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],
[NaN,NaN,NaN],[3,4,NaN]])
df1
df1.fillna(10) #用常数填充
df1.fillna({0:10,1:20,2:30}) #用字典填充
re =df1.fillna(10,inplace=True) #指定inplace=True
print(re)
df1
df2 = pd.DataFrame([[1,2,3],[1,NaN,2],
[3,NaN,NaN],[4,3,3]])
df2
df2.fillna(method='ffill') #用前一个非缺失值去填充该缺失值
df2.fillna(method='bfill') #用后一个非缺失值去填充该缺失值
df2.fillna(method='bfill',limit=1) #指定填充的缺失值数量
df2.fillna(method="ffill", limit=1, axis=1) #指定对行操作
● 正确答案
B
● 温馨期待
期待大家提出宝贵建议,互相交流,收获更大,助教:qmy
欢迎大家转发,一起传播知识和正能量,帮助到更多人。期待大家提出宝贵改进建议,互相交流,收获更大。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
我正在尝试用ruby中的gsub函数替换字符串中的某些单词,但有时效果很好,在某些情况下会出现此错误?这种格式有什么问题吗NoMethodError(undefinedmethod`gsub!'fornil:NilClass):模型.rbclassTest"replacethisID1",WAY=>"replacethisID2andID3",DELTA=>"replacethisID4"}end另一个模型.rbclassCheck 最佳答案 啊,我找到了!gsub!是一个非常奇怪的方法。首先,它替换了字符串,所以它实际上修改了
我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin
我有一个驼峰式字符串,例如:JustAString。我想按照以下规则形成长度为4的字符串:抓取所有大写字母;如果超过4个大写字母,只保留前4个;如果少于4个大写字母,则将最后大写字母后的字母大写并添加字母,直到长度变为4。以下是可能发生的3种情况:ThisIsMyString将产生TIMS(大写字母);ThisIsOneVeryLongString将产生TIOV(前4个大写字母);MyString将生成MSTR(大写字母+tr大写)。我设法用这个片段解决了前两种情况:str.scan(/[A-Z]/).first(4).join但是,我不太确定如何最好地修改上面的代码片段以处理最后一种
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
如何在Ruby中按名称传递函数?(我使用Ruby才几个小时,所以我还在想办法。)nums=[1,2,3,4]#Thisworks,butismoreverbosethanI'dlikenums.eachdo|i|putsiend#InJS,Icouldjustdosomethinglike:#nums.forEach(console.log)#InF#,itwouldbesomethinglike:#List.iternums(printf"%A")#InRuby,IwishIcoulddosomethinglike:nums.eachputs在Ruby中能不能做到类似的简洁?我可以只
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o