Python数据分析模块

学习笔记

目录

一、Numpy模块

1.Numpy生成数组 

2.Numpy数组统计方法

1.Pandas数据结构之Series

 2.Pandas数据结构之DataFrame

三、其他模块 

 1.Matplotlib/Seaborn模块

2.Scipy模块 

3.Stasmodels模块

4.  Scikit-learn模块


一、Numpy模块

        Numpy (Numerical Python)是Python语言的一个扩展程序库,支持大量的多维数组与矩阵计算,此外也针对数组运算提供大量的数学函数库。Numpy功能非常强大,支持广播功能函数,线性代数运算,傅立叶变换等功能。
        在使用Numpy时,可以直接使用import来导入。同时,在后面将Numpy简称为np。

import numpy as np
print(np.__version__)

1.Numpy生成数组 

        (1)Numpy最重要的一个特点是其N维数组对象ndarray。ndarray与列表形式上相似,但是ndarray要求数组内部的元素必须是相同的类型。在生成ndarray时,采用Numpy的array方法。 

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

        (2)使用numpy模块中的arange方法可以生成给定范围内的数组,其中的参数start表示起始数,stop表示终止数,step表示步长,即数组中相邻两个数字的差,dtype用于制定数据类型,默认为None。 

         一个参数时,参数值为终点值,起点取默认值0,步长取默认值1。

        两个参数时,第一个参数为起点值,第二个参数为终点,步长取默认值1。

        三个参数时,第一个参数为起点,第二个参数为终点,第三个参数为步长,其中步长支持小数。

np.arange(10)
np.arange(0,10,2)

        (3)在numpy模块中,除了arrange方法生成数组外,还可以使用np.zeros((m,n))方法生成m行,n列的0值数组; 使用np.ones((m,n))方法生成m行,n列的填充值为1的数组;使用np.eyes (m,n)方法生成m行,n列的对角线位置填充为1的矩阵;使用random方法生成随机数组。 

np.random.rand(5,5)#创建一个5*5的矩阵,元素取值取值为 [0,1)
np.random.randint(1,5,(3,3))#创建一个3*3的矩阵,元素取值为[1,5)

2.Numpy数组统计方法

        Numpy中提供了很多统计函数,可以快速地实现查找数组中的最小值、最大值,求解平均数、中位数、标准差等功能。 

np.max(a1)#数组最大值
np.min(a1)#数组最小值
np.amin(a1,0)#数组行方向最小值
np.amin(a1,1)#数组列方向最小值
np.median(a1)#数组中位数

 二、Pandas模块

1.Pandas数据结构之Series

        当Series数组元素为数值时,可以使用Series对象的describe方法对Series数组的数值进行分析。

import numpy as np
import pandas as pd
a1=np.random.randint(1,50,10)
a=pd.Series(data=a1)
a.describe()

b=pd.Series(data=["Nikilas","Acheson","Mike","Jony"],index=[1,2,3,4])
b

 2.Pandas数据结构之DataFrame

        (1)如果把Series看作作Excel表中的一列,DataFrame就是Excel的一张工作表。DataFrame由多个Series组成,DataFrame可以类比为二维数组或者矩阵,但与之不同的是,DataFrame必须同时具有行索引和列索引。 

        index和columes参数可以指定,当不指定时,从0开始。通常情况下,列索引都会给定,这样每一列数据的属性可以由列索引描述。

        创建DataFrame的语句如下

pd.dataFrame(data,index,columns)

import numpy as np
import pandas as pd
a1=np.random.randint(1,50,(3,4))
df=pd.DataFrame(a1,columns=["a","b","c","d"])
df

        (2)使用DataFrame类时可以调用其shape,info,index,columnvalues等方法返回其对应的属性。
        调用DataFrame对象的info方法,可以获得其信息概述,包括行索引,列索引,非空数据个数和数据类型信息
        调用df对象的index、columns、values属性,可以返回当前df对象的行索引,列索引和数组元素。 

        因为DataFrame类存在索引,所以可以直接通过索引访问DataFrame里的数据。

df[0:2]#返回df第一行到第二行的数据
df.a #返回列名为a的数据
df.at[2,'b']#返回第二行列名为b的数据
df.iloc[1:3,1:3] #返回df第2-3行,第2-3列包围的数据

        (3)DataFrame数据进行操作的方法如下

操作行方向(axis=0)列方向(axis=1)
添加

df.append(df1)

df.loc['new_row']=valueList

df['new_column']=valueList
修改df.loc[row]=new_valuedf[column]=valueList
删除df.drop(row_index,axis=0,inplace)df.drop(column,axis=1,inplace)
df['e']=5 #添加列
df.loc[3]=7#添加行
df.at[2,'e']=8 #将索引为2的行和索引为e的列所包含的数据更改为8
df.drop(3,axis=0,inplace=True) #删除索引为3的行
df.drop('e',axis=1,inplace=True) #删除索引为e的列

        (4)DataFrame提供的数据分析方法

方法功能描述
head(n) / tail(n)返回数据前/后n行记,当不给定 n 时默认前/后5行
describe()返回所有数值列的统计信息
max(axis=0) / min(axis=0)默认获得列方向各列的最大 /小值,当axis 的值设置为 1时,获得各行的最大小值
mean(axis=0) / median(axis=0)  默认获得列方向各列的平均/中位数,当axis 的值设置为1时,获得各行的平均/中位数
info()对所有数据进行信息简述
isnull()检测空值,返回一个元素类型为布尔值的DataFramc,当出现空值时返回 Truc,否则返回 Falsc
dropna()删除数据集合中的空值
value_counts()查看某列中各值出现的次数
count()对符合条件的记录统计出现的次数
sort_values()对数据进行排序,默认升序排列
sort_index()对索引进行排序,默认升序排列
group_by()按给定的条件对数据进行分组统计

三、其他模块 

 1.Matplotlib/Seaborn模块

        在数据分析流程中,结果呈现是非常重要的步骤。美观规范的图表会让客户直观、快速地了解数据变化的趋势,找到有关数据变化的原因。Pvthon提供了很多用于展示数据变化的第三方库,其中Matplotlib库Seaborn库常与Numpy、Pandas搭配使用。

2.Scipy模块 

        Scipy模块可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。它用于有效计算Numpy矩阵,使Numpy和Scipy协同工作,高效解决问题。目前,Scipy广泛地被数据科学、人工智能、数学、机械制造和生物工程等领域的人员应用。

3.Stasmodels模块

        提供用于估计许多不同统计模型以及进行统计测试和统计数据探索的类和函数。常用的模型包括线性模型、广义线性模型和鲁棒线性模型、线性混合效应模型、方差分析(ANOVA)方法、时间序列过程和状态空间模型、广义的矩量法等。每个估算器都有一个广泛的结果统计列表。对照现有的统计数据包对结果进行测试,以确保它们是正确的。官方网址为www.statsmodels.org。目前,统计人员倾向安装包含大量统计功能和方法的程序库Stasmodels.

4.  Scikit-learn模块

        Scikit-learn (以前称为scikits.learn,也称为sklearn) 是针对Python 编程语言的免费软件机器学习库。它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN,并且旨在与Python数值科学库NumPy和SciPy联合使用。目前,计算机建模人员则倾向于使用包含各种人工智能方法的程序库Scikit-Learn。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值