pandas

Python库-Pandas基础应用

前言

Pandas是属于Python的,主要用于数据分析的库。Pandas的应用十分广泛,不管是机器学习,还是大数据分析、数据挖掘,只要是涉及数据,Pandas的使用几乎是绕不开的。

而学习Python的小伙伴们应该都有所了解,Python应用最广泛的领域无非就是AI,数据处理这些,因此,学会处理数据的利器——Pandas就更是有必要了。

本篇文章主要涉及Pandas的最基础应用,主要目的在于帮助初学者解惑,并且帮助掌握一定程度的朋友做查询之用。因此,本篇文章会做到把各个点清晰分开,主要以提供相关操作所需的代码为主,少量个人见解为辅。

本文将主要讲解以下有关Pandas的点:

  • Pandas基础操作
  • 索引初阶操作
  • Groupby操作
  • 数值运算

基础操作

导入

import pandas as pd

导入Pandas,并以pd来指代它。

读取数据

Pandas可以从不同后缀名的文件中读取数据,但最常用的还是从csv文件中读取数据,以下是利用Pandas读取数据的代码。

df = pd.read_csv('./temps.csv')

这里要切记的就是pd.read_csv和文件后缀名的csv不可遗漏。该行代码的意思就是:将与本Python相同路径下的、名叫temps.csv的文件里的数据导入,储存到df中。

DataFrame基本信息

就像numpy有ndarray格式,pytorch有torch格式,DataFrame是属于Pandas的格式,这里暂时不需要理解它们究竟有什么区别,只需要知道要想执行Pandas的操作必须要用Pandas的格式。

数据显示

以下是导入后的DataFrame数据的格式

在这里插入图片描述

我们可以看到,导入的数据足足三百多行,我们肯定是不需要直接看完这多行数据的,因此将数据导进来后,可以选择只观看几行。

df.head(10)

该代码的意思是:只显示前十行的数据,不加参数时默认是5。

索引

df.index #返回行的索引

在这里插入图片描述

列名

df.columns #返回列名
在这里插入图片描述

全部基本信息

df.info()
在这里插入图片描述

这里可以看到df里数据的几乎一切基本信息,从之前的行数、列名、索引,包括之前没提到的一些信息也有,像数据类型等等。

也可以像下面这样

df.describe()

在这里插入图片描述
而里面的max,min这些数值,也可以使用df.max()等函数单独调出来。
在这里插入图片描述
一般默认是一列之中的数在一起比较,但可以通过指定axis的方式来改变。

转换为ndarray格式

df = df.values

经过这行代码后,df就不再是DataFrame格式,而是ndarray格式。

因为很多计算都是通过numpy来进行的,所以将导入的数据转换为ndarray格式是必不可少的一步。

DataFrame基本操作

创建DataFrame结构

创建DataFrame结构的方式有以下两种:

data = pd.DataFrame({'name':['Zhangsan','Lisi','Luowu'],'age':[34,32,28]})
在这里插入图片描述

data = [[1,2,3],[4,5,6]]
index = ['a','b']
columns = ['A','B','C']
df = pd.DataFrame(data=data,index=index,columns=columns)

在这里插入图片描述

创建DataFrame结构要用到pd.DataFrame函数。上面两种方法里,第一种是往函数里传入一个字典结构,字典的key会成为DataFrame结构的列名,value则会成为这一列上的数据。

而第二种方法则是分别设定好每一行的索引、每行的元素、列名。这里的索引不是数字,而是使用字符来代替。

Series结构

取出DataFrame的一列或一行,就是Series结构。

df_series = df['A']

这里的’A’是列名,会把’A’这一列的元素赋给变量df_series。Series结构具有DataFrame的功能。

如果想调出多个列得数据的话,可以执行以下操作:

df_series = df[['A','B']]

这里要注意的就是别漏了中括号。

运算操作

Pandas里的运算和numpy运算的用法并没有太大差别,它们同样都可以运用广播。

df = df + 1
df = df*2
df = df/2

以上操作都会同时作用到每一个元素。

索引

数字索引

DataFrame的索引一般为从0开始的数字,每一行从上往下索引不断增大。

想要通过索引调出某一行的数据,并不能直接输入索引数字,否则会报错。

想要通过数字索引调出数据的方法有以下两种:

  • 利用切片
  • 使用iloc

在这里插入图片描述
在这里插入图片描述
这里虽然显示得不一样,但它们储存的是同样的数据,而且格式也都是一样的。

字母索引
data = [[1,2,3],[4,5,6]]
index = ['a','b']
columns = ['A','B','C']
df = pd.DataFrame(data=data,index=index,columns=columns)

用该方法创建出来的df就是以字母为索引。但是字母索引并不能直接使用。

如果要使用字母索引,必须要使用loc。

df.loc['a']

在这里插入图片描述

修改索引

可以直接修改索引的名称

df.index = ['red','blue']

在这里插入图片描述
也可以直接把索引给全部换了

df_index = df.set_index('A')

这样的话‘A’列下的元素就会成为每一行的索引,使用df_index.loc[]的方法就可以调用每一行的数据。
在这里插入图片描述

groupby操作

groupby是将某一列中相同的元素进行分组,然后可以进行求和、求均值等操作。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值