【Pandas】DataFrame

简介

DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表。

或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matlab也可以用cell存放多类型数据),DataFrame的单元格可以存放数值、字符串等,这和excel表很像。

同时DataFrame可以设置列名columns与行名index,可以通过像matlab一样通过位置获取数据也可以通过列名和行名定位。

创建DataFrame

直接创建

随机创建一个4*4的DataFrame:

df1=pd.DataFrame(np.random.randn(4,4),index=list('ABCD'),columns=list('ABCD'))

其中第一个参数是存放在DataFrame里的数据,第二个参数index就是之前说的行名(或者应该叫索引?),第三个参数columns是之前说的列名。

后两个参数可以使用list输入,但是注意,这个list的长度要和DataFrame的大小匹配,不然会报错。当然,这两个参数是可选的,你可以选择不设置。

而且发现,这两个list是可以一样的,但是每行每列的名字在index或columns里要是唯一的。

使用python自己的shell展示创建的结果是这样的:

在这里插入图片描述
当然,如果你的数据量贼小,也可以自己输入创建,类似这样:

df2=pd.DataFrame([[1,2,3,4],[2,3,4,5],
                  [3,4,5,6][4,5,6,7]],
                 index=list('ABCD'),columns=list('ABCD'))

使用字典创建

仍然是使用DataFrame这个函数,但是字典的每个key的value代表一列,而key是这一列的列名。比如这样:

dic1={'name':['小明','小红','狗蛋','铁柱'],'age':[17,20,5,40],'gender':['男','女','女','男']}
df3=pd.DataFrame(dic1)

在这里插入图片描述

查看与筛选数据

python没有matlab的工作区直接查看变量与内容,这大概是python科学计算的一个缺点。所以需要格外的代码来查看,最基本的直接写变量名与print就不说了。

查看列的数据类型

使用dtypes方法可以查看各列的数据类型,比如说刚刚的df3:

df3.dtypes

输出结果:
在这里插入图片描述

查看DataFrame的头尾

使用head可以查看前几行的数据,默认的是前5行,不过也可以自己设置。

使用tail可以查看后几行的数据,默认也是5行,参数可以自己设置。

比如随意设置一个6*6的数据,只看前5行:

df4=pd.DataFrame(np.random.randn(6,6))
df4.head()

在这里插入图片描述

查看行名与列名

使用index查看行名,columns查看列名:

df1.index
df3.columns

在这里插入图片描述
在这里插入图片描述

查看数据值

使用values可以查看DataFrame里的数据值,返回的是一个数组。比如说查看所有的数据值:

df3.values

在这里插入图片描述
查看某一列所有的数据值:

df3['name'].values

在这里插入图片描述
使用loc或者iloc查看数据值(但是只能根据行来查看)。区别是loc是根据行名,iloc是根据数字索引(也就是行号):

df1.loc['A']

在这里插入图片描述

df1.iloc[0]

在这里插入图片描述
按列进行索引查看数据还能直接使用列名,但这种方法对行索引不适用:

df3['name']

在这里插入图片描述

查看行列数

使用shape查看行列数,参数为0表示查看行数,参数为1表示查看列数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值