numpy&pandas&matplotlib学习笔记

1、Numpy

arange

作用:Numpy 中 arange() 主要是用于生成数组
语法:numpy.arange(start, stop, step, dtype = None)
注:包括开始但不包括停止的区间,默认步长为1 ,返回的是narray

matrix

作用:将数组转换为矩阵,注意矩阵和数组在一些使用上的不同
语法:np.matrix(narray)

multiply 与 *

在矩阵中 
multiply表示的是对应元素相乘
* 表示的是矩阵运算
在数组中
multiply表示的是对应元素相乘
* 表示的是对应元素相乘

sum

作用:假设数组 (m,n)

  • 无参时,全部相加
  • axis=0,每一列自己的相加,返回的是一个(1,n)数组,注意和shape的0、1不太一样
  • axis=1,每一行自己相加,返回的是一个 (1,m)数组

max/min

无参时,返回数组中最大/小值
axis=0时,返回每一列中最大/小值
axis=1时,返回每一行中最大/小值

argmax/argmin

无参时,返回数组中最大/小值位置
axis=0时,返回每一列中最大/小值位置
axis=1时,返回每一行中最大/小值位置

ravel

作用:将多维数组转换为一维数组的功能
语法:array.ravel()

shape

array/matrix . shape[0]返回行
array/matrix . shape[1]返回列

#测试shape在数组和矩阵中区别
data['X'].shape[0]#5000  ,在数组中返回行
X_Matrix = np.matrix(data['X'])
X_Matrix.shape[0]#5000 也是返回行

zeros

作用:生成一个指定形状的元素全为0的数组
语法:zeros(shape, dtype)
zeros((3,4))生成一个3行4列的0数组

insert

作用:在指定列和行插入一行或者一列数组
用法:np.insert(指定数组, 位置 ,values=插入的数组, axis = 0/1)
测试在指定行/列插入多维数组
1)当X是(10 ,5)的数组时,若要在首列插入两列零数组x0时。

x0 = np.zeros( (2 , 10) )
X1 = np.insert( X , 0 , values=x0 , axis = 1)

2)当X是(10 ,5)的数组时,若要在首行插入两列零数组x0时。

x0 = np.zeros( (2 , 5) )
X1 = np.insert( X , 0 , values=x0 , axis = 1)

可以看出来,x0的列数与指定数组的行列有关

2、Pandas

read_csv

insert

iloc

作用:提取指定的行或者列的数据
语法:df.iloc[ : , 0:cols-1 ]#提取 所有行的 [0 ,cols-1)列的数据

isin

作用:返回含有指定条件的dataframe
语法
   data [ data [‘Admitted’].isin([1])]
   注:返回‘Admitted’列中数值为1的DataFrame,不是Admitted这一列,而是这一列数值为1的样本

Dataframe和Array的相互转化

DataFrame是Pandas的两大数据结构之一(另一个是Series),array是Numpy中的数据结构
语法

  • DataFrame转array的方式:
      array = df.values
  • array转DataFrame的方式:
      df = pd.Dataframe(array)

3、Matplotlib

subplot

作用:创建单个子图,subplot可以规划figure划分为n个子图,但每条subplot命令只会创建一个子图
语法:subplot(nrows,ncols,sharex,sharey,subplot_kw,** fig_kw)

import numpy as np  
import matplotlib.pyplot as plt  
x = np.arange(0, 100)  
#作图1
plt.subplot(221)  
plt.plot(x, x)  
#作图2
plt.subplot(222)  
plt.plot(x, -x)  
 #作图3
plt.subplot(223)  
plt.plot(x, x ** 2)  
plt.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
#作图4
plt.subplot(224)  
plt.plot(x, np.log(x))  
plt.show()  

测试:

x = np.arange(0, 100)  
#作图1
plt.subplot(221)  
plt.subplot(222)  
plt.plot(x, x)  
plt.plot(x, -x)  

在这里插入图片描述

subplots

作用:创建多个子图
语法:与subplot类似

fig,axes=plt.subplots(2,2)
ax1=axes[0,0]#图上位置就是数组一样
ax2=axes[0,1]
ax3=axes[1,0]
ax4=axes[1,1]
ax1.plot(x, x)  

figure

作用:创建图形
语法:figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

  • num:图像编号或名称,数字为编号 ,字符串为名称 List item
  • figsize:指定figure的宽和高,单位为英寸;
  • dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80
  • facecolor:背景颜色
  • edgecolor:边框颜色
  • frameon:是否显示边框

plot

作用:画折线图
语法

scatter

作用:画散点
语法:plt.scatter(x , y s ,c ,marker)

  • x、y—输入array和dataframe类型都可以(测试过)
  • s–点的大小,默认就可以
  • c–点的颜色
  • marker–点的形状
    其他参数暂时没有用到

legend

set_xlabel/ylabel

show

4、scipy.optimize

fmin_tnc()

在用python实现逻辑回归和线性回归时,使用梯度下降法最小化cost function,用到了fmin_tnc()和minimize()。
调用:

scipy.optimize.fmin_tnc(func, x0, fprime=None, args=()...)
最常使用的参数:
func:优化的目标函数
x0:初值
fprime:提供优化函数func的梯度函数
args:元组,是传递给优化函数的参数

返回:	x nfeval rc
x : 数组,返回的优化问题目标值,通过result[0]取出
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值