#coding:utf-8
#author:徐卜灵
#####################
#由于在各大公司笔试的时候总是会遇到一些格式化输入输出数据,今天就来总结一下。
#结合numpy来处理数据
#####################
###1.第一行输入一个数n,之后输入n个数,以空格隔开
# n = int(raw_input())
# L = [int(x) for x in raw_input().split(' ')]
# print n,L
#上下好像没什么联系 ###############################################################
###2.第一行输入一个数n,之后输入n行,每行的数以空格隔开
# n = int(raw_input())
# L = [0] * n#这里一定要赋值为空
# for i in range(n):
# L[i] = [int(x) for x in raw_input().split(' ')]
# print n,L
# print type(L[2][2]) ####################################################################################################
#############################################numpy知识点详解##########################################
import numpy as np
import matplotlib.pyplot as plt
##① numpy里的所有元素必须是形同类型的,每个数组都有一个shape,和一个dtype,也就是说numpy多维数组的固有的两个属性
# data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]#这里的data 是个list,下面一行代码将list转化为array
# arr0 = np.array(data)#这一行将list转化为array
# print arr0.shape,arr0.dtype,arr0.ndim ##②创建制定形状的全0和全1的array
# arr_all0 = np.zeros((3,5))#注意这里有两个小括号
# arr_all1 = np.ones((3,5))
# arr_empty =np.empty((2,3,2))#这里可以嵌套,两个二维数组,每个二维数组是2*3的。但empty返回的是未初始化的垃圾值,一般不用这个函数
# print arr_all0,'\n',arr_all1,'\n',arr_empty # ##③np.arange,跟range(15)一样的作用,注意两者的type不一样,不没什么影响
# L1 = np.arange(15)
# L2 = range(15)
# print L1,type(L1)#注意,没有逗号分割 1 * 15
# print L2,type(L2)
# print np.eye(15)#创建一个正方形的单位阵,下同
# print np.identity(15) # ##④dtype 可以直接修改数据类型
# arr1 = np.array([1,2,3],dtype=np.float32)
# arr2 = np.array([1.6,-2.3,3],dtype=np.int32)#小数部分被截断,强制转换的时候
# print arr1,arr1.dtype
# print arr2,arr2.dtype
# arr3 = np.array([1,2,3])
# arr3.astype('int32')#显式修改类型
# print arr3.dtype ##5.数组和标量之间的运算
# arr = np.array([[1,2,3],[4,5,6]])
# print arr * arr
# print 1.0/arr
# print arr ** 0.5 ##6.索引和切片
# arr = np.arange(10)
# print arr[5]
# print arr[7:9]
# arr[7:9] = 12#将索引为7,8的赋值为12
# print arr #这里arr也发生了变化
# print arr[:] #这里arr也发生了变化
# L = range(10)
# L[7:9] = 12,12
# print L
# #二维数组的索引和切片
# arr2d = np.array([[1,2,3],[2,3,4],[1,2,3],[4,5,6]])
# print arr2d[2]
# print arr2d[2,2],arr2d[2][2]#这两种效果等价
# print arr2d[:2,1:]
# print arr2d[:,:1]#:选取整个轴
# data = np.random.rand(7,4)#利用python中numpy.random.randn()可以生成随机数
# print data
# # numpy中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中。
# # numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值。
# # numpy.random.rand(d0, d1, …, dn)的随机样本位于[0, 1)中。
#
# ##花式索引
# arrhua = np.zeros((8,4))
# for i in range(8):
# arrhua[i] = i
# print arrhua,arrhua[[4,3,0,6]],arrhua[[-3,-5,-7]] # ##7.reshape,square,sqre,exp
# arr = np.arange(32).reshape((8,4))
# print arr
# print arr.T
# print np.dot(arr.T,arr)#矩阵点乘
# print np.square(arr)
# print np.sqrt(arr)
# print np.exp(arr)
# x = np.random.randn(8)
# y = np.random.rand(8)
# # y = np.random(8)
# print np.maximum(x,y)
# z = np.random.rand(7)*5#这个乘以5很有意思哦
# print z
# #还有一些函数
# #abs,sqrt,square,exp,log,log10,log2,log1p,sign,ceil,floor,rint
# #isnan,isfinite,isinf,cos,cosh,sin,sinh,tan,tanh ###8.利用数组进行数据预处理
# points = np.arange(-5,5,0.01)#-5到5,间隔0.01取点
# xs,ys = np.meshgrid(points,points)
# #print xs,ys
# z = np.sqrt(xs**2+ys**2)
# plt.imshow(z,cmap = plt.cm.gray)
# plt.colorbar()
# plt.show()
###9.x if condition else y
# xarr = np.array([1.0,1.1,1.2,1.3,1.4])
# yarr = np.array([2.0,2.1,2.2,2.3,2.4])
# cond = np.array([True,False,True,False,True])
# result = [(x if c else y) for x,y,c in zip(xarr,yarr,cond) ]#有个zip,注意应用
# print result
#
# rr = np.where(cond,xarr,yarr)
# print rr
# arr = np.random.randn(4,4)
# print np.where(arr>0,5,-5)#大于0修改为5小于0修改为-5
# print np.where(arr>0,5,arr)#小于0不做处理 #10.数学和统计方法
#sum(0),mean(1),std(),var()标准差方差,min(),max(),argmin,argmax(),sumsum,cumprod后面俩比较不常用 # arr = np.random.randn(5,4)#后面是维度,正态分布的数据
# print arr.mean(),np.mean(arr),arr.sum()
# print arr.mean(axis=1),np.mean(arr),arr.sum(0)#0计算行,1计算列
# print arr.cumsum(0),arr.cumprod(1)#所有元素的累计和,累计积
#11.排序
# arr_sort = np.random.randn(9)
# arr_sort.sort()
# print arr_sort
# arr_sort = np.random.randn(3,2)
# arr_sort.sort(1)
# print arr_sort

  

numpy常用功能总结、python格式化输入输出的更多相关文章

  1. Python常用功能函数

    Python常用功能函数汇总 1.按行写字符串到文件中 import sys, os, time, json def saveContext(filename,*name): format = '^' ...

  2. python轻量级orm框架 peewee常用功能速查

    peewee常用功能速查 peewee 简介 Peewee是一种简单而小的ORM.它有很少的(但富有表现力的)概念,使它易于学习和直观的使用. 常见orm数据库框架 Django ORM peewee ...

  3. Python常用功能函数总结系列

    Python常用功能函数系列总结(一) 常用函数一:获取指定文件夹内所有文件 常用函数二:文件合并 常用函数三:将文件按时间划分 常用函数四:数据去重 Python常用功能函数系列总结(二) 常用函数 ...

  4. Python格式化字符串~转

    Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作 ...

  5. Numpy 常用矩阵计算函数

    基本属性 在做一些数据分析的时候,我们通常会把数据存为矩阵的形式,然后python本身对于矩阵的操作是不够的,因此出现了numpy这样一个科学开发库来进行python在次上面的不足. Numpy's ...

  6. python格式化输出【转】

    今天写代码时,需要统一化输出格式进行,一时想不起具体细节,用了最笨的方法,现在讲常见的方法进行一个总结. 一.格式化输出 1.整数的输出 直接使用'%d'代替可输入十进制数字: >>> ...

  7. python格式化输出(转)

    在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出.Python中内置有对字符串进行格式化的操作%. 模板 格式化字符串时,Python使用一个字符串作为模板.模 ...

  8. 160229-01、web页面常用功能js实现

    web页面常用功能js实现   1.网页未加载时弹出新窗口 <body onunload="window.open('http://www.a68.cn');">< ...

  9. WebStorm 常用功能的使用技巧分享

    WebStorm 是 JetBrain 公司开发的一款 JavaScript IDE,使用非常方便,可以使编写代码过程更加流畅. 本文在这里分享一些常用功能的使用技巧,希望能帮助大家更好的使用这款强大 ...

随机推荐

  1. Spring Cloud Zuul 1(API 网关服务)

    API网关是一个更为智能的应用服务器,它的存在就像是整个微服架构系统的门面一样,所有的外部客户端访问都需要经过它来进行调度和过滤. 它实现的功能包括:请求路由.负载均衡.校验过滤等功能. Spring ...

  2. 在线HTTP POST/GET接口测试工具

    在线HTTP POST/GET接口测试工具 http://www.atool.org/httptest.php

  3. FPGA和CPLD的比较

    1 FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现. 2 CPLD更适合触发器有限而乘积丰富的结构,更适合完成复杂的组合逻辑:FPGA更适合于触发器丰富的结构,适合完成时序逻辑. 3 c ...

  4. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.6 向量化 Vectorization

    5.6 向量化 Vectorization 参考视频: 5 - 6 - Vectorization (14 min).mkv 下面是向量化的小例子,如果将所有u(j) .所有v(j).所有w(j)都看 ...

  5. Linux的基本指令--服务器

    ftp: 1.安装vsftpd服务器 sudo apt-get install vsftpd 2.创建一个空目录,供用户上传:创建服务器文件夹,ftp服务器,服务器端和客户端,我建立的是/home/c ...

  6. resin3.X那些事之resin.conf

    [经验总结]resin那些事之resin.conf ----by johnson 话说与resin打交道很久了,却从未系统了解过.resin一听火了,说:你老兄当真与我打交道很久了?工具.流程如此发达 ...

  7. IDEA03 连接数据库、自动生成实体类

    1 版本说明 JDK:1.8 MAVEN:3.5 SpringBoot:2.0.4 IDEA:旗舰版207.2 MySQL:5.5 2 利用IDEA连接数据库 说明:本案例以MySQL为例 2.1 打 ...

  8. hdu 2553 N皇后问题(一维数组详尽解释)

    //一维数组解法(注释详尽)//num皇后可以表示第num列,然后枚举num皇后所在的行//二维数组对角线转换为坐标的关系#include<stdio.h> #include<str ...

  9. 在IE11(Win8)中检查up6.2配置

      1.按F12,打开调试模式    2.打开调试程序选项卡 说明:在调试程序选项卡中可看到IE加载的脚本信息是否正确.因为IE有缓存,导致脚本有时不是最新的.    3.打开脚本,up6.js   ...

  10. (转)C# HTML解析示例---星星引发的血案

    原文地址:http://www.cnblogs.com/wurang/archive/2013/06/14/3119023.html [前言] 从CSDN转投cnBlog也有一段时间了,发现cnBlo ...