python数据分析三大基础库 您所在的位置:网站首页 lingo中的for循环嵌套if语句 python数据分析三大基础库

python数据分析三大基础库

#python数据分析三大基础库| 来源: 网络整理| 查看: 265

引言 numpy库简介

NumPy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。

pandas库简介

Pandas 是 Pythonopen in new window 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。经过多年不懈的努力,Pandas 离这个目标已经越来越近了。

matplotlib库简介

Matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。 Matplotlib可用于Python脚本,Python和IPythonopen in new window Shell、Jupyteropen in new window笔记本,Web应用程序服务器和四个图形用户界面工具包。

目录

引言

numpy库简介

pandas库简介

matplotlib库简介

numpy基础操作

创建数组

调整数据类型

保留小数

查看数组类型、数组中数据类型、查看数组形状

将数组形状进行重组

查看数组有多少个数据,用index进行查询、将数组转化为1维数组

数组运算

numpy读取文件数据

转置

取指定行或列

值的修改

数组拼接

数组交换行、列

获取数组中的最大、小值的位置

简介创建数组

随机种子

数组计算

将数组中为nan的值替换

pandas基础操作

创建一维列表,series

通过索引找值

pandas读取数据

pandas多维列表操作,dataframe

dataframe基础属性

dataframe整体情况查询

dataframe排序方法

pandas取行或者列,字符串为列、数字为行

pandas之loc

pandas之布尔索引操作

matplotlib基础操作

数据可视化可显示中文

记录x、y轴数据

修改画布大小

折线图

图形相关处理

网格线设置

设置图形详细信息

添加图例

保存图表

显示图表

numpy基础操作 创建数组 #将列表转化为数组,里面的range函数可以看做为一个for循环创建的列表 t1 = np.array(range(12),dtype="float32")#dtype参数更改数组中数据的类型 t8 = np.array([range(10),range(10,20)]) #和上面的语句相同,但语句更简洁 t2 = np.arange(10) 调整数据类型 #调整数据类型 t3 = t2.astype("bool") 保留小数 #保留小数 t5 = np.round(t4,2) 查看数组类型、数组中数据类型、查看数组形状 print(type(t4)) print(t4.dtype) print(t1.shape) 将数组形状进行重组 #再数组创建后进行重组 t6 = t1.reshape((3,4)) #在数组创建时进行重组 t7 = np.array(range(27)).reshape(3,3,3) 查看数组有多少个数据,用index进行查询、将数组转化为1维数组 print(t7.shape[0]*t7.shape[1]*t7.shape[2]) t7 = t7.reshape((t7.shape[0]*t7.shape[1]*t7.shape[2],)) t7 = t7.flatten() 数组运算 t7 = np.array(range(27)).reshape(3,3,3) t9 = np.array(range(27,54)).reshape(3,3,3) t10 = np.array(range(3)) t11 = np.array(range(3)).reshape(3,1) #数组运算,必须相同维度或者符合从后往前一个维度相同(其余维度为1) print(t9 - t7) print(t9 - t7) print(t9 * t7) print(t9 / t7) print(t9 - t10) print(t9 - t11) numpy读取文件数据 t12 = np.loadtxt(path,delimiter=',',dtype='int',unpack=False,skiprows=1,usecols=(0,1,2)) #path文件路径、delimiter分隔符、dtype导入数据的类型、unpack是否转置、skiprows跳过前几行、usecols读取指定列 转置 t13 = np.array(range(12)).reshape(3,4) t13 = t13.T t13 = t13.swapaxes(1,0) t13 = t13.transpose() 取指定行或列 #取指定行 a = t12[0] a = t12[1,:] #取连续几行 a = t12[2:5] a = t12[2:5,:] #取不连续几行 a = t12[[1,2,5]] a = t12[[1,2,5],:] #取指定列 a = t12[:,1] #取连续几列 a = t12[:,1:3] #取不连续几列 a = t12[:,[0,2]] #取指定行列的值 a = t12[1,2] #取多行多列的值 # a = t12[1:5,1:3] #取多个不相邻的值 a = t12[[1,2,5,8],[1,0,2,0]] 值的修改 t13[0,3] = 0 t13[1:,:] = 0 t13[t13 4000] # #多条件选值 df3 = df1[(df1["出现时间点"] > 4000) & (df1["模式"] == 5)] #切割 df4 = df1["出现时间点"].str().split(".").tolist() #判断数据是否为Nan t16 = np.arange(15).reshape(3,5) t16 = t16.astype("float") t16[:,0] = np.nan df5 = pd.DataFrame(t16) #判断数据是否为Nan,如果是就返回True,否则返回False d1 = pd.isnull(df5) # #判断数据是否为Nan,如果是就返回False,否则返回True d2 = pd.notnull(df5) #删除Nan所在行 df6 = df5.dropna(axis=0,how="all",inplace=False) #axis表示对行或者列进行操作,how为all表示全部数值为nan时进行删除,为any只要有一个为nan就进行删除,inplace是否进行替代 #填充数据 df7 = df6.fillna(df6.mean(axis=1)) #如果数据为0表示缺失值 df6[df6==0] = np.nan #按行或者列累加 df6 = df6.cumsum(axis=0) matplotlib基础操作 数据可视化可显示中文 #数据可视化可显示中文 plt.rcParams['font.family'] = 'SimHei' 记录x、y轴数据 #记录x、y轴数据 x = [i for i in range(1,25)] y = [24,25,33,35,32,21,10,16,24,25,33,35,32,21,10,16,24,25,33,35,32,21,10,16] 修改画布大小 #修改画布大小 plt.figure(figsize=(20,8),dpi=80)#figsize画布大小,dpi清晰度 折线图 plt.plot(x,y,label = "第一天",color='r',linestyle = '--',linewidth = 5,alpha = 0.5) #label参数添加标识,color参数添加颜色,linestyle参数调节线条风格,linewidth参数调整线条宽度,alpha调整线条透明度 plt.plot(x,y_1,label = "第二天",color='b')

注:饼图pie、直方图hist、水平条形图barh、竖直条形图bar、散点图scatter等等,需要其它图可以去官网查找相应函数。

图形相关处理 #显示x轴刻度 x_label = ["{}小时".format(i) for i in x] plt.xticks(x,x_label,rotation = 90)#将x_label显示在x对应的位置上,rotation坐标显示旋转 #显示y轴刻度 plt.yticks([i for i in range(1,max(y)+1)]) 网格线设置 plt.grid(alpha = 1)#alpha参数为网格线透明度设置 设置图形详细信息 plt.xlabel('时间') plt.ylabel('温度') plt.title('一天的温度变化情况') 添加图例 plt.legend(loc = "upper left")#loc参数调整图列的位置 保存图表 plt.savefig('./graph1') 显示图表 plt.show()

接下来还会更新关于数据分析的文章,期待下一篇关于数据分析的文章吧!

在这里谢谢小伙伴们的支持啦!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有