PYTHON:过滤 PANDAS DATAFRAME 的 10 种方法_第1页
PYTHON:过滤 PANDAS DATAFRAME 的 10 种方法_第2页
PYTHON:过滤 PANDAS DATAFRAME 的 10 种方法_第3页
PYTHON:过滤 PANDAS DATAFRAME 的 10 种方法_第4页
PYTHON:过滤 PANDAS DATAFRAME 的 10 种方法_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绍在Python中过滤pandas数据框的各种方法。数据过最常见的数据操作之一。它类似于SQL中的WHERE子句,或者您必须在n种高效的方式来执行过滤和聚合。它有一个名为pandas的优秀包,用于滤示例据准备的最初始步骤之一。它也被称为“子stallpandas年从纽约起飞的航班详细信息的数据集。该数据集有和16列。请参阅下面的列名称。要导入数据集,我们使用epdelayarrtimearrdelaycarriertailnumflight','origin','dest',airtimedistancehour'minute']pdreadcsvsrawgithubusercontentJackyPtestingmasterdatasetsnycflightscsvusecols=range(1,17))按列值过滤熊猫数据框JetBlueAirways个字母的承运人代码B6,来newdfdfdf.origin=="JFK")&(df.carrier=="B6")]headyearmonthdaydeptime..air_timedistancehourminute31144.081157.0201311558.0..9.05.058.0558.0...158.010055.058.0559.0...44.01875.059.01.过滤后的数据(子集化后)存储在名为newdf.dforiginJFK")&(df.carrier=="B6")返回True方法二:查询函数pandas方法可以执行过滤。上面的代码也可以写成如下所示的代码。这种方法优雅且更具可读性,并且在指定列(变量)时无需每次都提newdfdfquery'origin=="JFK"&carrier=="B6"')loc种方法都返回相同的输出。这只是过滤行newdfdfloc(df.origin=="JFK")&(df.carrier=="B6")]按行和列位置过滤PandasDataframe假设您要按位置选择特定行(比方说从第二行到第五行)。我们可以使用inginpythonstartsfromzerodfilocreferstofirsttofifthrowexcludingendpointthrowheredfiloc0:5,]isivalenttodfilocilocFirstrowsdfilocSecondtoFifthrowdfilocSixthrowandstcolumndfilocSecondtoFifthrow,firstcolumndfilocSecondtoFifthrow,first5columnsdfilocThirdtoSeventhrow,2ndand3rdcolumnociloc数据以供说明xpdDataFramecol:np.arange(1,20,2)},index=[9,8,7,6,0,1,5])918356792131541719xiloct9876013579xloct92131541719如何x.loc[0:5]返回6行(包括第6个元素的5行)?这是因为不根据索引位置产生输出。它只考虑索引的标签,也可以是字母xpdDataFramecol:range(1,5)},index=['a','b','c','d'])xlocac']#equivalenttox.iloc[0:3]a1b2按行位置和列名称过滤熊猫数据框dflocdfindexorigindest"]]df.index),因为索引标签并不总是按顺序从0开始。它可以从任何数字开c选择列的多个值aynewdfdflocdf.origin=="JFK")|(df.origin=="LGA")]Waynewdfdfdforiginisin(["JFK","LGA"])]OR定值。选择列值不等于特定值的行newdfdfloc(df.origin!="JFK")&(df.carrier=="B6")]newdforigin的唯一值来检查上面的代码行是否正常工duniquenewdforigin定整个条件newdfdf(df.origin=="JFK")&(df.carrier=="B6"))]在PandasDataframe中选择非缺失数据删除缺失值。由于此数据框不包含任何空白值,因此您会newdfdfdforiginnotnull]在PandasDataframe中过滤字符串。但是python使处理字符或字符串列变得dfpdDataFramevar"AA_2","B_1","C_2","A_2"]})0AA_2A_2选择值以字母“A”开头的行trdfdfvarstr=='A']过滤字符串长度大于3的行dfdfvarstrlen]选择包含字母A或B的字符串containsSQLSASLIKE语句。您可以通过在fdfvarstrcontainsABt0AA_2A_2过滤时处理列名中的空格dfrenamecolumnsvarvar,inplace=True)newdfdfquery"`var1`=='AA_2'")ipinstallupgradepandasuser如何在不使用pandas包的情况下过滤数据ythonpandas有效的方法。展示以下方法的主要目的是展示pandas的情况下进行子集化。在您的实际项目中,您应该使用pandas的内置函数(query()、loc[]、iloc[]),这些函数在上面已经responserequestsget'urovskygithubiopsycdatalabnycflightscsvtextitlineseaderlines用于过滤的Lambda方法Lambda用lambda,您可以在一行llistfilterlambdaxxoriginJFKandxcarrier]==stdf用这个lambda函数,你可以提交下面的代newdfdfdfapplylambdaxx["origin"]=='JFK'andx["carrier"]Baxis=1)]用于过滤的列表理解方法llistxforxinlstdfifxoriginJFKandx["carrier"]B')newdfdfilocindexfori

温馨提示

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

评论

0/150

提交评论