数据分析 - pandas(3)

创建特定的index和columns

数据分析-pandas(2)的时候,我们简单的讲解了一下关于DataFrame的横向索引index和纵向索引columns,他们默认是从0开始的,现在我们来学习一下,如何创建特定的indexcolumns

代码实例

创建默认的DataFrame

#导入pandas包
In [2]: import pandas as pd

#导入numpy包
In [3]: import numpy as np

#生成DataFrame矩阵数据表
In [4]: t = pd.DataFrame(np.arange(1,13).reshape(3,4))

#得到结果
In [5]: t
Out[5]:
   0   1   2   3
0  1   2   3   4
1  5   6   7   8
2  9  10  11  12

创建、设置index和columns的值

#创建特定的index和columns的DataFrame
In [6]: t = pd.DataFrame(np.arange(1,13).reshape(3,4),index=["a","b","c"],columns=["w","x","y","z"])

#输出打印 t 
In [7]: t
Out[7]:
   w   x   y   z
a  1   2   3   4
b  5   6   7   8
c  9  10  11  12

可以看到,我们的DataFrame矩阵数据表index标签和columns标签的值发生了变化,由最初的0、1、2、3变成了a、b、cw、x、y、z

DataFrame和Series的关系

我们在数据分析-pandas(1)讲解了Series数组,现在来串一下DataFrame和Series的关系
DataFrame和Series的关系
上图就是一个DataFrame矩阵数据表,但是,如果单看红色边框圈出来的部分,其实就是Series数组

因此,我们说:DataFrame是Series容器

那么,问题就来了

既然说DataFrameSeries的容器,那么,当初在创建Series的时候可以通过传入字典来创建,那么,我们创建DataFrame的时候可不可也通过传入字典来创建呢?

答案是:当然可以

传入字典创建DataFrame

#创建字典 a
 a = {"name":["小红","小亮","小张"],"age":[20,18,22],"sex":["女","男","男"]}

#生成 DataFrame 矩阵数据表
t = pd.DataFrame(a)

#输出打印 t
In [9]: t
Out[9]:
   age name sex
0   20   小红   女
1   18   小亮   男
2   22   小张   男

可以看到,当我们传入字典创建DataFrame的时候,我们字典的键,成为了columns的标签,事实也证明,我们DataFrame是可以通过传入字典创建的

那么,当我们学习了上面的知识点后,又有一个问题接踵而至,对于一个dataframe类型,既有行索引,又有列索引,我们能够对他做什么操作呢

DataFrame的方法

DataFrame的基础属性

方法作用
df.shape返回矩阵数据表的行数和列数
df.dtypes返回矩阵数据表的列数据类型
df.ndim返回数据维度
df.index返回行索引
df.columns返回列索引
df.values对象值,二维ndarry数组

DataFrame的整体情况查询

方法作用
df.head(3)显示头部几行,默认是5行数据
df.tail(3)显示末尾几行,默认是5行数据
df.info()相关信息概览:行数、列数,列索引,列非空值个数,列类型,内存占用等
df.sort_values(by=“columns标签”)DataFrame中排序的方法,指按照columns标签索引进行排序,默认是升序(ascending=True),通过设置asceding改变排序方式
df.describe()快速综合统计结果:计数,均值,标准差,最大值,四分位数,最小值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值