pandas dataframe方法,python中dataframe用法

  pandas dataframe方法,python中dataframe用法

  Pandas是一个基于NumPy的工具,用于解决数据分析任务。Pandas拥有大量的内置库和多个标准数据模型,为高效处理大型数据集提供了必要的工具。Pandas提供了许多功能和方法来快速轻松地处理数据。使用Pandas进行数据操作、预处理和清洗是Python数据分析的重要技能。

  数据分为三部分:行索引、列索引和数据内容。

  塞利兹

  系列是熊猫中最基本的对象。数列就像一个一维数组。其实Series基本上是基于NumPy数组对象的。与NumPy数组不同,Series可以自定义数据标签,即索引,通过索引访问数组中的数据。

  创建序列并使用默认索引

  Sel=系列(数据=[ 1,拉克钦,30,一个老师和一个学生])

  数列其实就是数据。Series方法的第一个参数是数据,第二个参数是index(索引)。如果没有传递值,则使用默认值(0-N)。

  创建序列并使用自定义索引

  SEL=series(data=[1, lackychen ,30,一个老师和一个学生]),index=[序列号,姓名,年龄,注释]

  索引是我们自定义的索引值。请注意,参数值的数量必须与元素的数量相同。

  将词典转换为系列

  dic={red:100, black:400, green:300, pink:900}

  2=系列(数据=DIC))。

  当数据是字典时,将字典的关键字设置为索引,将字典的值设置为与索引对应的数据值。

  Series是一组索引数组,类似于list,通常用于存储单个数据或单行数据。一个数据框可以配置多个系列。

  从值、索引、项目和其他一系列属性中获取每个部分的所有数据。

  来自熊猫进口系列

  emp=[001、002、003、004、005、006]

  Name=[亚瑟,后裔,小乔,美鸟,于吉,王昭君]

  Series=系列(data=name,index=EMP))。

  #获取数据值

  Print (series.values))。

  获取索引的值

  print(series.index.tolist))

  #获取索引/值对

  打印(列表(系列.项目))

  Values、index和items分别返回list、index和Zip类型的数据。为了方便观察数据,可以使用series.index.toList()和List (series.items))的方法将其转换为列表。

  系列就像一个显示索引值的列表。其实不仅仅是外形相似,检索数据也非常相似。可以使用索引值访问单个数据。此外,您可以使用切片来选择多个数据。

  来自熊猫进口系列

  emp=[001、002、003、004、005、006]

  Name=[亚瑟,后裔,小乔,美鸟,于吉,王昭君]

  Series=系列(data=name,index=EMP))。

  #使用索引值获取单个数据

  打印(系列[001]

  #使用索引值获得多个不连续的数据

  打印(索引下标,系列[[002 , 004]]

  #使用切片获得连续数据

  打印(索引切片,系列( 001:004 ))

  来自熊猫进口系列

  emp=[001、002、003、004、005、006]

  Name=[亚瑟,后裔,小乔,美鸟,于吉,王昭君]

  Series=series (data=EMP,index=name))。

  #使用位置下标获取单个数据。

  Print (series [0])。

  #使用位置下标获取多个不连续的数据

  打印(位置下标,系列[[1,3]))

  #使用位置索引切片获取连续数据

  打印(位置切片),系列[0:3]

  我们的自定义索引值称为索引下标。如果没有设置索引值,则有一个默认值,称为定位下标。

  使用循环遍历序列

  直接遍历系列的值:

  #遍历并获取数据data

  对于系列值:

  打印(值)

  通过键()遍历系列的索引:

  #遍历并获取索引数据

  对于series.keys()中的索引:

  打印(索引)

  通过items()串行遍历每对索引和数据:

  #遍历并获取每对索引和数据

  对于series.items()中的项目:

  打印(项目)

  数据帧

  DataFrame(数据表)是一种二维数据结构。数据以表格的形式存储,表格分为几行和几列。有了DataFrame,你可以方便地处理数据。调用DataFrame()可以将各种格式的数据转换成DataFrame对象。它的三个参数data、index和columns分别是数据、行索引和列索引。

  二维列表创建数据框架

  Lol_list=[尚丹, zzdbmh ,20],[打,哮天,19],[钟丹, wxdxrk ,23],[ADC ,俏皮路灯,22],[辅助

  df=DataFrame(data=lol_list)

  在创建DataFrame对象时,有没有办法为每一列设置一个有意义的名称?我们可以通过向DataFrame构造函数中的参数index index,columns传递值来设置DataFrame中的行和列索引的值。

  创建数据框架、自定义索引、列的二维列表

  Lol_list=[尚丹, zzdbmh ,20],[打,哮天,19],[钟丹, wxdxrk ,23],[ADC ,俏皮路灯,22],[辅助

  DF=数据框(data=lol _ list,index=[a , b , c , d , e],columns=[location , ID number , age])

  使用dictionary创建dataframe,dictionary的键值作为数据的列索引值。

  Dic={ Location: [上单,打, ADC ,辅助], ID号:[zzdbmh ,哮天, wxdxrk ,俏皮路灯,明],年份

  df=pd。数据帧

  DataFrame可以理解为一组具有相同索引的数列。通过数据帧进行数据处理的常见操作包括选择和替换数据行或列、重组数据表、修改索引、多重过滤等。

  数据帧中的数据根据行和列进行排列。如何根据行或列选择、遍历和修改数据帧中的数据。在此之前,我们需要了解DataFrame中的数据情况。一、数据的维度是一维还是二维可以用ndim查看,数据的行数和列数可以用shape查看,行和列的索引值可以用index和column查看。

  进口熊猫作为pd

  df_dict={

  姓名:[张三,李四,吴王,刘钊],

  年龄:[18 , 20 , 19 , 22],

  重量:[50 , 55 , 60 , 80]

  }

  df=pd。DataFrame(data=df_dict,index=[001 , 002 , 003 , 004])

  打印(df)

  #获取行数和列数

  打印(df.shape)

  #获取行索引

  print(df.index.tolist())

  #获取列索引

  print(df.columns.tolist())

  #获取数据的维度

  打印(df.ndim)

  当数据量很大,想看到数据的细节时,直接打印df比较费时,所以只能得到前几行或者后几行来了解数据的构成。这时候有两个法宝头()和尾()来帮我们解决这个问题。

  #获得前两个

  df.head(2)

  #拿最后两个

  df.tail(2)

  这两种方法都有默认值,即5。当然,你也可以自己设置。如果没有足够的5个数据,所有数据将被取出。

  #通过分割位置索引获得一行

  打印(df[0:1])

  #通过位置索引片获取多行

  打印(df[1:3])

  #在多行中获取一些列

  print(df[1:3][[姓名,年龄]])

  #获取数据帧的列

  打印(df[名称])

  #获取多列

  打印(df[[姓名,年龄]])

  Df[]不支持直接输入标签索引获取行数据,例如:DF[ 001 ];

  这样就可以得到一个数据列表,比如df[ name ];

  如果想得到多行中的一些列,可以写成:df[ row] [column],例如:df[1:3][[name , age]],把列索引值放在同一个列表中,然后把列表放在第二个方括号中。

  行索引过滤器loc[],行位置索引过滤器iloc[]:

  进口熊猫作为pd

  df_dict={

  姓名:[张三,李四,吴王,刘钊],

  年龄:[18 , 20 , 19 , 22],

  重量:[50 , 55 , 60 , 80]

  }

  df=pd。DataFrame(data=df_dict,index=[001 , 002 , 003 , 004])

  打印(df)

  #获取某行某列的数据

  print(df.loc[001 ,名称])

  #一行中有多列的数据

  print(df.loc[001 ,[名称,重量]])

  #一行中的所有列

  print(df.loc[001 ,])

  #为间隔选择多个行和列

  print(df.loc[[001 , 003],[名称,重量]])

  #选择连续的多行和间隔的多列。

  print(df.loc[001:003 ,名称:重量])

  Df.loc[]通过tag index获取行数据,其语法结构如下:df.loc[[ row],[column]],方括号内用逗号分隔,左边是行,右边是列。注意:如果行或列被切片,则删除方括号,列df.loc [001: 003 , name: weight]。

  Df.iloc[]通过位置索引获取行数据。他的操作和loc[]一样,只是把标签索引改成位置索引。

  #拿一条线

  print(df.iloc[1])

  #取连续多行

  print(df.iloc[0:2])

  #取不连续的多行

  print(df.iloc[[0,2],])

  #找一个专栏

  print(df.iloc[:1])

  #某个值

  print(df.iloc[1,0])

  进口熊猫作为pd

  df_dict={

  姓名:[张三,李四,吴王,刘钊],

  年龄:[18 , 20 , 19 , 22],

  重量:[50 , 55 , 60 , 80]

  }

  df=pd。DataFrame(data=df_dict,index=[001 , 002 , 003 , 004])

  打印(df)

  print(df.iloc[1])

  print(df.iloc[0:2])

  print(df.iloc[[0,2],])

  print(df.iloc[:1])

  print(df.iloc[1:3,0:1])

  print(df.iloc[1,0])

  需要注意的是,loc和iloc的切片操作在是否包括切片端点的数据方面是不同的。loc[001:003]的结果包含对应于行索引003的行。ILO [0: 2]结果不包含序号为2的数据,对应于切片终点的数据不在过滤结果中。Loc表示位置,iloc中的I表示整数。两者的区别如下:

  loc:处理索引中的标签。

  iloc:处理索引中的位置(所以它只接受整数)。

  也就是说,loc是根据index进行索引的。比如下面的df定义了一个索引,然后loc根据这个索引索引对应的行;c不是用索引来索引,而是用行号来索引,从0开始,一个一个加1。

  数据帧数据遍历

  Iterrows():逐行遍历,将DataFrame的每一行转换成(index,Series)对。Index是该行的索引值,Series是该行对应的数据。

  对于index,df.iterrows()中的row_data:

  打印(索引,行数据)

  Iteritems():按列遍历,将DataFrame的每一列转换为(column,Series)对。Column是列索引的值,Series是对应于该列的数据。

  对于col,df.iteritems()中的col_data:

  打印(列)

  示例:

  进口熊猫作为pd

  df_dict={

  姓名:[张三,李四,吴王,刘钊],

  年龄:[18 , 20 , 19 , 22],

  重量:[50 , 55 , 60 , 80]

  }

  df=pd。DataFrame(data=df_dict,index=[001 , 002 , 003 , 004])

  对于index,df.iterrows()中的row_data:

  打印(索引,行数据)

  对于col,df.iterrows()中的col_data:

  打印(列)

  打印(列数据)

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: