一:介绍:

  • Pandas是用于数据分析的开源Python库,可以实现数据加载,清洗,转换,统计处理,可视化等功能
  • DataFrame和Series是Pandas最基本的两种数据结构
  • DataFrame用来处理结构化数据(SQL数据表,Excel表格)
  • Series用来处理单列数据,也可以把DataFrame看作由Series对象组成的字典或集合。

二:安装pandas:

1:进入虚拟环境:conda activate python39
2:安装pandas: pip install pandas

(二)Pandas  DateFrame入门_数据
(二)Pandas  DateFrame入门_加载_02

三:加载数据集与展示数据:

  • 1:导入pandas包:import pandas as pd
  • 2:读取csv文件:df = pd.read_csv(‘路径’)
  • 3:展示前5条记录:df.head()
  • 4:展示的时候用空格隔开:df = pd.read_csv(‘路径’, sep=’\t’)
  • 5:查看返回的数据类型:type(df)
  • 6:获取得到数据的行数和列数:df.shape
  • 7:获取得到数据的列名:df.columns
  • 8:获取每一列的数据类型:df.dtypes / df.info

<案例一>: 展示前5条数据:
(二)Pandas  DateFrame入门_数据_03
<案例二>: 展示的时候用空格隔开:
(二)Pandas  DateFrame入门_加载_04
<案例三>: 查看返回的数据类型:
(二)Pandas  DateFrame入门_其他_05
<案例四>: 获取所有的行数和列数以及列名:
(二)Pandas  DateFrame入门_其他_06
<案例五>:获取每一列的数据类型:
(二)Pandas  DateFrame入门_数据_07
(二)Pandas  DateFrame入门_数据类型_08

四: 查看部分数据:

  • 1:加载某一列的数据:df[‘列名’]
  • 2:加载多列的数据:df[[‘列名1’, ‘列名2’, ‘列名3’]]
  • 3:获取指定行的数据:data = df.loc[0]
  • 4:获取最后一行的思路:先获取总函数-1拿到下标,然后获取指定行。
  • 5:获取最后一行/最后几行:df.tail(n = 1)
  • 6: df.loc 与 df.tail 与 df.head 的获取数据的区别: loc拿到的是Series对象,head拿到的是DateFrame对象。
  • 7:loc通过索引获取多行数据:data = df.loc[[0, 99, 999]]

<案例一>: 加载一列/多列数据:
(二)Pandas  DateFrame入门_加载_09
<案例二>: 获取第1行和第100行数据,以及最后一行数据:
(二)Pandas  DateFrame入门_加载_10
(二)Pandas  DateFrame入门_加载_11
<案例三>: 获取最后一行/最后3行:
(二)Pandas  DateFrame入门_数据类型_12
<案例四>: df.loc 与 df.tail 与 df.head 的获取数据的区别:
(二)Pandas  DateFrame入门_加载_13

五:iloc与loc的区别:

  • 1:iloc传入的是索引的序号,loc传入的是索引的标签。
  • 2:iloc可以传入-1获取最后一行的数据,但是loc不能传入-1,因为索引标签中没有-1这个标签。
  • 3:loc和iloc都可以获取指定的列或者行的数据。
  • 4:iloc可以使用切片获取哪一列。
  • 5:两个都可以获取指定行且指定列。
  • 6: 当然也可以获取多行多列,行iloc也可以用切片。

<案例一>:loc 与iloc分别获取列数据和行数据:
(二)Pandas  DateFrame入门_数据类型_14
<案例二>: 获取0-4列:
(二)Pandas  DateFrame入门_数据类型_15
<案例三>:iloc使用切片获取下标为3 4 5三列:
(二)Pandas  DateFrame入门_数据类型_16
<案例四>: loc与iloc获取指定的行指定的列。
(二)Pandas  DateFrame入门_数据_17

六:分组与聚合计算:

案例一:按照年进行分组,然后统计分组后的平均寿命:
(二)Pandas  DateFrame入门_其他_18
案例二:按照年份和大洲进行分组,统计组内的平均年龄和平均GDP:
(二)Pandas  DateFrame入门_数据类型_19
结果发现:输出的结果中 year continent 和 lifeExp gdpPercap 不在同一行, year continent两个行索引存在层级结构。如何去掉这种层级关系?
(二)Pandas  DateFrame入门_数据_20
案例三:统计每个大洲列出了多少个国家和地区?
nunique统计唯一值的数量。
先根据大洲进行分组,然后得到大洲的字符串,最后统计字符串唯一的数量。
(二)Pandas  DateFrame入门_其他_21
(二)Pandas  DateFrame入门_数据_22

七:基本的绘图功能:

1: 安装:matplolib
(二)Pandas  DateFrame入门_数据类型_23
2:使用plot()绘制图片:
(二)Pandas  DateFrame入门_数据类型_24