1. import numpy as np
    arr1 = np.arange(32).reshape(8,4)
    print(arr1)
    arr1 = arr1.reshape(-1);
    print(arr1)
    arr2 = np.logspace(1,8,8,base=2).reshape(8,1)
    print(arr2)
    ##数组广播的规律,要么两个维度相同,要么某一个维度为1
    ##矩阵积为dot A np的行乘以B np的列的和,所以行列要一致。
    arr3 = [[15930.2,244.2],
    [8111.87,148.87],
    [13722.46,221.1]]
    arr3 = np.array(arr3,float);
    print(arr3.dtype)
    ##利用切片取数组
    print(arr3[:,0])
    print("======================================")
    print(arr3[[0,2]])
    print("======================================")
    print(arr3[[0,2],[1,1]])
    print("======================================")
    ##取多行多列,使用np的索引器,np.ix_(m,n)
    print(arr3[np.ix_([0,2],[1])])
    ##数组转置
    arr3 = [[15930.2,244.2],
    [8111.87,148.87],
    [13722.46,221.1]]
    arr3 = np.array(arr3)
    print(arr3.T)
    xiaoming_score=np.array([100,60,50,65])
    #取不及格分数
    print(xiaoming_score >= 60)
    condition = xiaoming_score >= 60
    print(xiaoming_score[condition])#取出对应的数,多维同样适用,会降低到一维数据
    xiaoming_score2=np.array([[100,60,50,65],[20,30,40,50]])
    print(xiaoming_score2.transpose())#数组的转置和轴兑换
    ##数组的拉伸和合并 (如果reps参数只写一个数值为横向拉伸的倍数,如果使用[m,n] m为纵向 n为横向拉伸的倍数)
    print(np.tile(xiaoming_score2,[2,1]))
    print("===================================================")
    ##合并操作
    xiaoming_2_score = np.array([[90,90,90,90],[88,88,88,88]])
    print(np.stack([xiaoming_score2,xiaoming_2_score],axis=0))#沿着某一个轴合并 0是两块合并 1是拆快合并 2是拿对应个数合并
    print("===================================================")
    ##堆叠操作
    print(np.vstack([xiaoming_score2,xiaoming_2_score]))
    print(np.hstack([xiaoming_score2,xiaoming_2_score]))
    ##np 的函数操作
    print("===================================================")
    arry2 = np.random.randint(-10,10,[3,4])
    print(arry2)
    #绝对值
    print(np.fabs(arry2))
    print(np.sqrt(arry2))#开方
    print(np.square(arry2))#平方
    #exp #计算各个元素的指数e的x次方
    #log10 log2 log1p
    arr3 = np.arange(1,11)
    print(arr3)
    print(np.log2(arr3))#相当于2为底,求arr3每个元素的多少次方等于每个位置元素 eg:1=2^x log就是e为底
    #np.log1p 以1+x为真数e为底的对数
    #以5为底 可以利用换底公式
    arry4 = np.log2(arr3)/np.log2(5)
    print(arry4)
    #ceil 向上取整 floor 向下取整
    np.floor(arry4)
    print(np.floor(arry4))
    #四舍五入 np.rint
    #保留几位小数 np.around(arr4,decumals=2)
    #modf 把小数拆开成两个数组,返回小数位和整数位
    #判断元素是否是nan isnan 可以用布尔值索引取出数组中nan ~取反操作
    #np.isfinite 是否有穷数 isinf(inf 是无穷数)
    #mod
    arr6 = np.arange(10)
    print(arr6)
    print(np.mod(arr6,3))
    #dot 举证积操作
  2.  
  3. ##eg:np.greater(arr5,arr6) less equal less_equal not_equal
    np.power(arr6,3)#几次方
    score = np.array([
    [80,90,87,56,77],
    [55,45,87,90,98],
    [100,12,100,89,77],
    [77,33,87,79,60]
    ])
    print(score)
    print(np.amax(score))#求成绩的最高分
    print(np.amax(score,axis=0))#竖向求最大
    print(np.amax(score,axis=1))#横向求最大
    print(np.mean(score,axis=1))#横向求平均分
    #方差和标准差
    #方差,np.mean(a-a.mean()**2)
    print(np.mean(np.square(score-np.mean(score))))
    print(np.var(score))
    ##再开方是标准差 std是直接求标准差
    random1 = np.random.randint(0,10,10)
    random2 = np.random.randint(0,10,10)
    print(random1)
    print(random2)
    cond = random1 > random2
    print([x if z else y for(x,y,z) in zip(random1,random2,cond)])#取较大数合并 多维对比合并用np.where(cond,random1,random2)
    #print(x,y,z)
    # np.unique 去除重复值
    arr10 = np.random.randint(0,5[5,5])
    print(arr10)
    np.unique(arr10)

np一些基本操作2的更多相关文章

  1. np一些基本操作1

    ##生成一个一维数组import numpy as np;nb7 = np.arange(0,100,2);print(nb7)print("======================== ...

  2. Python 数据处理扩展包: pandas 模块的DataFrame介绍(创建和基本操作)

    DataFrame是Pandas中的一个表结构的数据结构,包括三部分信息,表头(列的名称),表的内容(二维矩阵),索引(每行一个唯一的标记). 一.DataFrame的创建 有多种方式可以创建Data ...

  3. MatplotLib常用基本操作

    本文记录matlibplot常用基本操作,都是基本功能,不涉及复杂联合操作,其中各用法详细用法可参考官网: 1. 基本画图操作 ##mofan_matplotlib.pyplot import mat ...

  4. matplotlib绘图的基本操作

    转自:Laumians博客园 更简明易懂看Matplotlib Python 画图教程 (莫烦Python)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili. ...

  5. DataFrame基本操作

    这些操作在网上都可以百度得到,为了便于记忆自己再根据理解总结在一起.---------励志做一个优雅的网上搬运工 1.建立dataframe (1)Dict to Dataframe df = pd. ...

  6. pandas学习(创建数据,基本操作)

    pandas学习(一) Pandas基本数据结构 Series类型数据 Dataframe类型 基本操作 Pandas基本数据结构 两种常用数据结构: Series 一维数组,与Numpy中的一维ar ...

  7. Python数据分析库pandas基本操作

    Python数据分析库pandas基本操作2017年02月20日 17:09:06 birdlove1987 阅读数:22631 标签: python 数据分析 pandas 更多 个人分类: Pyt ...

  8. python做数据分析pandas库介绍之DataFrame基本操作

    怎样删除list中空字符? 最简单的方法:new_list = [ x for x in li if x != '' ] 这一部分主要学习pandas中基于前面两种数据结构的基本操作. 设有DataF ...

  9. TensorFlow、numpy、matplotlib、基本操作

    一.常量的定义 import tensorflow as tf #类比 语法 api 原理 #基础数据类型 运算符 流程 字典 数组 data1 = tf.constant(2,dtype=tf.in ...

随机推荐

  1. ASP.NET MVC easyUI-datagrid 的当前页合计and总合计

    一.HTML代码 <table id="dg" class="easyui-datagrid" style="width: 100%; heig ...

  2. grunt完整的配置demo

    const path = require('path') const fs = require('fs'); module.exports = function (grunt) { grunt.reg ...

  3. wpf datagrid 如何自定义行的控件实例,(textbox 并选中则全选)

    主要是为了用户输入方便 按回车,选中下一列,text自动获取焦点,输入状态 获取控件实例  https://blog.csdn.net/m15188153014/article/details/486 ...

  4. [JZOJ3692] 【SRM 611】ElephantDrinking

    题目 题目大意 我真的不知道怎么用简短的语言表述出来-- 直接看题目吧-- 正解 假设只有左边和上边延伸过来的,那似乎很好办:设\(f_{i,j}\)表示左上方到\((i,j)\)所形成的矩形中,如果 ...

  5. jmeter+ant+jenkins 搭建接口自动化测试环境

    过程参考:http://www.cnblogs.com/lxs1314/p/7487066.html 1. 安装ant 2. 安装jenkins 遇到问题: 启动Tomcat后,访问http://lo ...

  6. 解决eclipse启动时出现“failed to load the jni shared library”

    如何解决启动eclipse出现failed to load the jni shared library的问题 问题描述:启动eclipse时,出现以下弹出框 此时,即表示eclispe和jdk位数不 ...

  7. latex ctex 的section不能写中文, /href

    问题描述:再使用超链接 /href 后发现section{}不能写入中文,以前是好使的,经过查询验证,需要在引导区里加入 \hypersetup{CJKbookmarks=true} 即可恢复正常.

  8. loj6031「雅礼集训 2017 Day1」字符串

    题目 首先先对\(s\)建一个\(\operatorname{SAM}\),设\(w=kq\) 发现\(k,q\leq 10^5\),但是\(w\leq 10^5\),于是套路地根号讨论一下 如果\( ...

  9. springcloud系列12 config的使用

    config组件分为server端和client端 config的原理: 就是当我们将配置文件放置在git上面,那么configserver就会去拉取相关配置文件至本地: 可以看到我本地是拉去了配置文 ...

  10. 03-css选择器

    <!doctype html><!--声明文档类型 网页文档--> <html><!--根目录标签 父级--> <head><!--网 ...