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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。