numpy和pandas的常用操作

numpy和pandas简介

Numpy(Numerical Python) 是 Python语言的一个第三方库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy是一个运行速度非常快的数学库,主要用于数组计算

Pandas是基于Numpy数组构建的,也是Python语言的第三方库,Pandas使数据预处理、清洗、分析工作变得更快更简单,主要用于数据分析

Pandas是专门为处理表格和混杂数据设计的,相当于Python的Excel,而Numpy更适合处理统一的数组数据。

Numpy和Pandas都是第三方库,需要预先安装好后才能导入使用,如果安装了Anaconda,则不必另外安装(因为Anaconda会自动安装很多数据分析用的第三方库)。

numpy和pandas的安装及导入

#安装
pip install numpy
pip install pandas
#导入
import numpy as np
import pandas as pd

1、numpy

Numpy的一维数组

1). 一维数组的创建

使用array函数创建一维数组,以列表的形式传入参数

arr=np.array([1,2,3])
brr=np.array([1,2,5])

2). 获取数组中的值

可以选择获取某个值,或获取范围内的值

#单个获取:获取序号0的值
arr[0]
#范围获取:从序号1到序号3(不包括3)的值
arr[1:3]

3). 查看数据类型

dtype方法可以查看数组的数据类型

#查看数据类型dtype
arr.dtype

4).对数组聚合运算

#平均值
arr.mean()
#求和
arr.sum()
#标准差
arr.std()

5). 向量化运算

#向量相加
print(arr+brr)
#向量乘以标量
print(arr*2)

Numpy的二维数组

Numpy中,二维数组与一维数组的定义、查询及访问均非常类似。数组下标均从零开始,行号与列号用逗号分隔,行号在前,列号在后。

1). 二维数组的创建

同样使用array函数创建二维数组

a=np.array([[1,2,3],[4,5,6]])

2). 获取数组中的值

可以选择获取某个元素,也可获取某行/某列的所有元素:

#获取某个元素:获取行号是0,列号是2的元素
a[0,2]
#获取某行:获取第一行
a[0,:]
#获取某列:获取第一列
a[:,0]

3). 行列计算

聚合函数内若没有指定参数,计算的是整个数组;函数内指定axis参数为1,则计算每一行;函数内指定axis参数为0,则计算每一列。

#计算整个数组的平均值
a.mean()
#按轴计算:axis=1计算每一行
a.mean(axis=1)
#按轴计算:axis=0计算每一列
a.mean(axis=0)

2、pandas

Pandas的一维数组

Pandas创建的一维数组可用index来指定索引,这样,访问时就可以通过索引来访问数组(Pandas的一维数组与Numpy的区别是,Pandas的有索引,Numpy的没有索引)。

1). 一维数组的创建

使用Series函数创建一维数组,以列表的形式传入参数,index指定索引:

pd.Series([1,2,3,4])

数据信息展示

  • 查看sr各元素出现的次数sr.value_counts(),return series

  • sr内元素的个数sr.size

  • 作图sr.plot()

数据类型转换

  • series类型的ndarray类型sr.values

文件读写

excel

  • 读取excel: pandas.read_excel(path,sep=',',header=None),reutrn DataFrame类型

  • 写入excel: df.to_excel(path)

csv

  • 读取csv:pandas.read_excel(path)

Dataframe

索引

  • 选中df的第i列: df[i],return Series 或df.i,type: num,后者的i应遵从变量命名规则

  • 选中df的第i行: df.loc[i]

  • 选中df的第i行第j列的元素: df.loc[i,j]

  • 选中df的名为name的列df.['name'],return series

数据信息展示

  • 选取df的前5行df.head(),return Dataframe

  • 选取df的前n行df.head(n),return Dataframe

  • 计算df各列的各种常用数据数值df.describe(),return Dataframe

  • 展示df的相关信息df.info(),return NoneType,如数据类型、占用内存大小等

df的元素个数df.size

  • 查看df当前所有列及其类型df.columns,return pandas…index,返回列索引和类型

groupby

  • 以x列将df分组df.groupby('x'),return DataFrameGroupBy,通常经list()转换便于观察

  • 以x为列,y为行分组df.groupby(['x','y']),return DataFrameGroupBy

  • 查看gb内各索引数量gb.size(),return Series

数据类型转换

  • Dataframe转换为listnp.array(df).tolist()

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值