numpy 创建矩阵: 引入numpy库并生成矩阵
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
常用方法:
矩阵元素个数 a.size
矩阵形状 a.shape
矩阵维度 a.ndim
矩阵元素类型 a.dtpye
矩阵的加减乘除 。np.dot(x,y)
pandas Pandas 是基于 NumPy 的一个开源 Python 库,它被广泛用于快速分析数据,以及数据清洗和准 备等工作。它的名字来源是由‚ Panel data‛(面板数据,一个计量经济学名词)两个单词拼 成的。简单地说,你可以把 Pandas 看作是 Python 版的 Excel。
DataFrame对象的构建: DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。 DataFrame既有行索引,也有列索引,可以根据dict进行创建,以及读取csv或者txt文件来创建 引入pandas包:
import pandas as pd
pandas相关简单设置:
pd.set_option('display.max_columns', None)#显示所有列
pd.set_option('display.max_rows', None)#显示所有行
pd.set_option('expand_frame_repr',False)#在一行显示
pd.set_option('display.unicode.ambiguous_as_wide', True)#中文对齐
pd.set_option('display.unicode.east_asian_width', True)#中文对齐
打开并转换为DataFrame格式:
a=pd.read_csv('d:/a11.csv',sep=',',encoding='utf-8')
df1= pd.DataFrame(a)
其他的一些方法:
#print(df1.columns)#列名字,标签
#print(df.dtypes)#每列的数据类型
#print(df.shape)#df的形状
#print(df.ndim)#df维度
#print(df.describe())#每列的描述,通常用来判断是否有缺失
DataFrame的数据提取方法:
主要用到的三个函数:loc,iloc,loc函数按标签值进行提取,iloc按位置进行提取。
1、按索引提取单行的数值
df_inner.loc[3]
2、按索引提取区域行数值
df_inner.iloc[0:5]
3、使用iloc按位置区域提取数据
df_inner.iloc[:3,:2] #冒号前后的数字不再是索引的标签名称,而是数据所在的位置,从0开始,前三行,前两列。
4、适应iloc按位置单独提起数据
df_inner.iloc[[0,2,5],[4,5]] #提取第0、2、5行,4、5列
绘图库 Matplotlib Matplotlib是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成 出具有出版品质的图形。
#画线
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.plot([1,2,34])
plt.ylabel("温度")
plt.show()
#画线步骤 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] x_values=[1,2,3,4,5] y_values=[1,4,9,16,25] plt.plot(x_values,y_values,linewidth=5) plt.title("每月入学人数",fontsize=20) plt.xlabel("月份",fontsize=10) plt.ylabel("人数",fontsize=10) plt.tick_params(axis='both',labelsize=20) plt.show()
#画散点 import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif']=['SimHei'] x_values=np.random.rand(10) y_values=np.random.rand(10) plt.scatter(x_values,y_values) plt.show()
#画柱状图 import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif']=['SimHei'] x_values=np.arange(10) y_values=np.random.randint(0,30,10) plt.bar(x_values,y_values) plt.show()
#画饼图 import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif']=['SimHei'] x_values=np.random.randint(1,10,3) print(x_values) plt.pie(x_values,None,['男','女','未知']) plt.show()
Matplotlib常用绘制图形:
折线图matplotlib.pyplot.plot 柱状图matplotlib.pyplot.bar 散点图matplotlib.pyplot.scatter 饼图matplotlib.pyplot.pie
################################################################## 三个库的综合比较 Numpy:基础的数学计算模块,以矩阵为主。
来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多,本身是由C语言开发 。这个是很基础的扩展,其余的扩展都是以此为基础。数据结构为ndarray。
Pandas:提供一套名为DataFrame的数据结构,适合统计分析中的表结构,以及做数据分析
基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型, 提供了高效地操作大型数据集所需的工具。最具有统计意味的工具包,某些方面优于R软件。数据结构有一维的 Series,二维的DataFrame(类似于Excel或者SQL中的表,Pandas和SQL有很多相似的地方)。 包括: 1.汇总和计算统计,处理缺失值 2.清理、转换、合并、重塑 3.日期和时间数据类型及工具
Matplotlib::绘图模块
Python中最著名的绘图模块 包括: 1.散点图,折线图,条形图,直方图,饼状图等的绘制。 2.坐标轴的调整,添加文字注释,区域填充,及特殊图形patches的使用