dataframe数据结构的属性,基于上图中的表格数据创建dataframe对象

  dataframe数据结构的属性,基于上图中的表格数据创建dataframe对象

  1个配置文件

  DataFrame是python熊猫库中的数据结构,是类似excel的二维表格。

  也许和matlab的矩阵差不多,但是matlab的矩阵只能包含数值。(当然,matlab也可以在cell中包含各种类型的数据。)。DataFrame的单元格可以包含数值、字符串等。这类似于excel中的表格。

  此外,DataFrame可以设置列名columns和行名index。您还可以通过从位置(如matlab)检索数据,按列名和行名进行定位。具体方法后面会详细说明。

  2创建数据框

  首先,下面是一个使用Python 3 . 6 . 5版本的例子。Python2也是。(

  当然,在执行所有操作之前,您应该导入所需的pandas库。Pandas经常和numpy一起用,所以一起导入。

  进口熊猫作为pd

  进口编号为NP

  如果你还没有安装它,就通过pip安装在cmd上。如果有版本选择问题,请参考之前的帖子。

  pip安装熊猫

  pip安装数量

  2.1直接生产

  可以用熊猫的DataFrame函数直接创建。例如,然后随机创建一个4*4的数据帧。

  1=PD . data frame(NP . random . randn(4,4),index=list)和columns=list (ABCD))

  第一个参数是存储在DataFrame中的数据,第二个参数index是上述行的名称(第三个参数columns是上述列的名称)。

  最后两个参数可以使用list输入,但是该列表的长度必须与DataFrame的大小一致。如果不一致,就会出错。当然,这两个参数是可选的。可能没有设置。

  而且,这两个列表可以是相同的,但是发现每一行中的每一列的名称在索引或列中是唯一的。

  使用python自己的shell符号创建的结果如下所示。

  或者在jupyter看起来更酷。以后用jupyter输出显示。

  当然,如果数据量小,也可以自己录入创建。

  df2=PD.data帧([ 1,2,3,4 ],[ 2,3,4,5 ],

  [ 3,4,5,6 ],[ 4,5,6,7 ],

  index=list(ABCD),columns=list (ABCD))

  您还会得到一个类似这样的数据框:

  2.2用字典来写

  虽然名为DataFrame的函数仍在使用,但字典中每个键的值代表一列,key是该列的列名。像这样说。

  C1={ 姓名:[tzdfbx ,勇敢的枕头, qrdsg ,铁柱],年龄:[17,20,5,40],性别:[

  df3=PD.dataframe(DIC1)))))))).

  输出如下所示

  3查看和过滤数据

  没有matlab的工作空间,直接看变量和内容可能是python科学计算的缺点之一。因此,需要特殊代码。把最基本的直接变量名写出来打印出来,不言而喻。

  3.1显示列数据类型

  dtypes方法可以用来显示每一列的数据类型,比如刚才的df3。

  df3.dtypes

  输出结果如下。

  3.2检查数据帧的头部和尾部

  用head看前几行的数据。默认值是前五行,但也可以自己设置。

  使用tail查看接下来几行中的数据。还有五个默认值,参数可以自己设置。

  比如自由设置6*6数据,只看前五行。

  df4=PD . data frame(NP . random . randn(6,6))

  4.头部()。

  比如只看前三行。

  4.头部(3)。

  比如看后面五行。

  df4.tail()).

  比如只看最后两行。

  df4。尾巴(2).

  3.3显示行名和列名

  在索引中显示行名,在列中显示列名。从具体例子感受一下。

  显示行名。

  df1 .索引

  显示列名。

  df3 .列

  p

  3.4查看数据值

  使用values查看DataFrame中的数据值,返回的数据是一个数组。

  例如,查看所有数据值。

  df3 .值

  例如,查看某一列中的所有数据值。

  df3[名称]。价值观念

  还有一个操作,用loc或者iloc查看数据值(不过好像只能按行查看?)。区别在于,loc基于行名,iloc基于数字索引(即行号)。

  像这样。

  df1.loc[A]

  或者这个。

  df1.iloc[0]

  按列索引数据时,也可以直接使用列名,但这种方法不适用于行索引。

  df3[名称]

  3.5检查行数和列数

  使用形状查看行数和列数。参数0表示行数,参数1表示列数。

  df3.shape[0]

  df3.shape[1]

  4基本操作

  有些DataFrame方法可以直接进行数据统计、矩阵计算等基本操作。

  4.1换位

  直接信T,线性代数在线。

  例如,转置先前的df2。

  df3。T

  4.2描述性统计

  使用describe根据列对数据进行描述性统计。

  例如,对df1进行描述性统计。

  df1.describe()

  如果某些列不是数字,将不会进行统计。

  如果要对行进行描述性统计,请参考4.1(换位后描述!)

  4.3计算

  默认情况下使用sum对每列求和,sum(1)是对每行求和。例如

  df3.sum()

  可以发现,即使元素是字符串,用sum也会加起来。

  df3.sum(1)

  在一行中,如果有字符串和值,则只计算值。

  例如,Apply用于数字乘法。

  df2.apply(lambda x:x*2)

  如果该元素是一个字符串,该字符串将再次重复。

  幂运算类似于matlab,直接用两个*举例。

  df2**2

  如果幂运算的任何元素是字符串,它将报告一个错误。

  4.4新增

  列可以像字典一样直接展开,列名对应一个列表,但是注意列表的长度要和索引的长度一致。

  df2[E]=[999 , 999 , 999 , 999]

  df2

  还可以使用insert,它可以指定要插入哪一列,并推迟其他列。

  df2.insert(0, F ,[888,888,888,888])

  df2

  4.5合并

  使用连接来合并两个数据框,但仅根据行和列名称,并基于其中一个活动数据框。如下所示,新的df7基于df2的行号索引。

  df6=pd。DataFrame([my , name , is , a],index=list(ACDH ),columns=list(G ))

  df6

  df7=df2.join(df6)

  df7

  但是,join方法还有一个参数how,可以设置它来合并两个数据帧的交集或并集。参数“inner”表示交集,“outer”表示并集。

  df8=df2.join(df6,how=inner )

  df8

  df9=df2.join(df6,how=outer )

  df9

  如果要合并多个数据框,可以使用list组装几个数据框,然后使用concat将其转换为新的数据框。

  df10=pd。DataFrame([1,2,3,4],index=list(ABCD ),columns=[a])

  df11=pd。DataFrame([10,20,30,40],index=list(ABCD ),columns=[b])

  df12=pd。DataFrame([100,200,300,400],index=list(ABCD ),columns=[c])

  list1=[df10。t,df11。t,df12。T]

  df13=pd.concat(list1)

  df13

dataframe数据结构的属性,基于上图中的表格数据创建dataframe对象