学习笔记1—python基础
1、安装pip: python -m pip install -U pip (打开命令行窗口:Anaconda Prompt)
升级:python -m pip install --upgrade pip (相关用法:https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels)
查询已经安装的包:pip list
如果“pip install 工具包名称”安装不上,那就下载目标软件到安装目录下的pkgs, 然后通过Anaconda Prompt命令窗口进入该路径下,再输入“pip install 工具包名称”命令进行安装。
2、安装nilearn: pip install -U --user nilearn (打开命令行窗口:Anaconda Prompt)
卸载: pip uninstall [options] <package> 或 pip uninstall [options] -r <requirements file>
3、python:
import scipy
[r,p] = scipy.stats.pearsonr(x,y):表示求x和y的pearson相关
pd.read_excel('motion_parameters_all.xls')#读取excel文件
4、路径正确的表示以及导入.mat文件:
如果运行时报错:mat4py模块不存在 ----> 在anaconda prompt终端中,输入该命令:pip install mat4py
import mat4py as mt
in_path = 'F:/BrainAging/SDSU/test/Results/mat_in_20.mat'
data_ext = mt.loadmat(ex_path)
5、注意: python中 numpy.empty() 该函数表示生成一个随机矩阵
6、查询矩阵维度:numpy.shape(mat)
7、'/'和'//'区别:前者表示浮点除,后者则表示整除
8、构建矩阵:
from numpy import *
matri_data = mat('1 2 3; 2 3 2')
9、生成随机矩阵:arr = np.arange(10)
10、获取向量y某个维度的长度:y.shape[m],其中m代表获取第几维度,
11、idx_set = set(range(5))得到的结果:{0, 1, 2, 3, 4, 5}--->相当于matlab中的cell
12、清空变量:reset(快捷键: ctrl+L)
13、选中对应的行 (1)快捷键组合为ctrl键和[键:ctrl+[ 或者(2)快捷键组合为ctrl键和]键:ctrl+]
14、x[1,2]的shape值(2,),意思是一维数组,数组中有2个元素;y[[1],[2]]的shape值是(2,1),意思是一个二维数组,每行有1个元素;z [[1,2]]的shape值是(1,2),意思是一个二维数组,每行有2个元素。
15、生成空的矩阵:mat = None; 生成空的list: list = []
16、两种类型的相互转换函数: 1)array转list:a = a.tolist();2)list转array:a =np.array(a)
17、1)list.append(list1),是将list1作为一个数据项、一个元素,追加在list中;2)list.extend(list1),是将list1与list相连接。
18、找到矩阵中最值,并返回行和列:re = np.where(results == np.min(results[1:80,1:80])),使用x == np.max(x)获得一个掩模矩阵,然后使用where方法即可返回最大值对应的行和列。 where返回一个长度为2的元组,第一个元素保存的是行号,第二个元素保存的是列号。
19、单引号和双引号的区别在于,前者需要转义字符,后者不需要;eg. s1 = ' let\'s go '; s2 = "let's go";
20、1个双引号和三个双引号区别在于,前者换行需要转义字符,后者不需要, 而且三个双引号可以有注释;
eg. s3 = "hello \ s4 = """ hello
world" world """
21、三个双引号和三个单引号区别,在于看字符中是否包含单引号字符,如果有,则用三个双引号。
22、a = np.array([[1, 2], [3, 4]])
>>> np.mean(a) # 将上面二维矩阵的每个元素相加除以元素个数(求平均数)--->2.5
>>> np.mean(a, axis=0) # axis=0,计算每一列的均值 ----> array([ 2., 3.])
>>> np.mean(a, axis=1) # 计算每一行的均值 ----> array([ 1.5, 3.5])
23、取绝对值:abs()
24、如何导入一个项目:
关于python的集成开发环境有很多种,比如PyCharm,Spyder等。楼主在初学python时使用的是Spyder,在打开项目时遇到一点小问题,记录一下解决方法。。
首先在想试用Spyder新建项目时,习惯性的选择了工具栏中的“File”,紧接着就可以看到有一个“New file...”,但显然,这样只能创建一个文件,而不是想要的项目。
之后仔细查看,会发现在同样在工具栏,有独立的一个“Projects”,就可以创建项目了...

接下来关于打开项目,在使用Scrapy框架创建爬虫后,发现不能顺利打开项目,会遇到“XXX is not a Spyder project!"

对比使用Spyder创建的项目以及自己没有使用Spyder创建的项目,会发现在第一级目录下,Spyder创建的项目多一个.spyproject文件夹,打开后是四个配置文件,想必问题就出在这里了。将这个文件夹放置于自己没有使用Spyder创建的项目的一级目录下,就可以顺利打开自己的项目了。

参考原文:https://blog.csdn.net/VeastLee/article/details/79698566
25、python 里 np.array 的shape ( ,)与( ,1)的区别
>>> import numpy as np
>>> x = np.array([1, 2])
>>> y = np.array([[1],[2]])
>>> z = np.array([[1,2]])
>>> print(x.shape)
(2,)
>>> print(y.shape)
(2, 1)
>>> print(z.shape)
(1, 2)
x[1,2]的shape值(2,),意思是一维数组,数组中有2个元素
y[[1],[2]]的shape值是(2,1),意思是一个二维数组,每行有1个元素
z [[1,2]]的shape值是(1,2),意思是一个二维数组,每行有2个元素
参考原文:https://blog.csdn.net/weixin_39449570/article/details/78645618
26、mean, (std)用法:
import numpy as np
num1 = np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]])
now2 = np.mat(num1)
now2
matrix([[1, 2, 3],
[2, 3, 4],
[3, 4, 5],
[4, 5, 6]])
np.mean(now2) # 对所有元素求均值
3.5
np.mean(now2,0) # 压缩行,对各列求均值
matrix([[ 2.5, 3.5, 4.5]])
np.mean(now2,1) # 压缩列,对各行求均值
matrix([[ 2.],
[ 3.],
[ 4.],
[ 5.]]) 原文:https://blog.csdn.net/taotiezhengfeng/article/details/72397282
27、python中的 np.tile()相当于 np.repmat()
28、返回格式:return (sel_fea, fea_num)
29、生成随机数:np.random.randn(n_samples)
30、将类别二值化:y = label_binarize(y, classes=[0, 1, 2])
31、生成随机噪声:
# Add noisy features to make the problem harder
random_state = np.random.RandomState(0)
n_samples, n_features = X.shape
X = np.c_[X, random_state.randn(n_samples, 200 * n_features)]
32、Python与MATLAB中 data(j,:) 等价 y_score[[j],:]
33、spyder中让生成的图像单独在窗口中显示:
1)生成图像在窗口中单独显示的命令:%matplotlib空格qt 在python3的版本中是qt5
2)生成图像在命令行中单独显示的命令:%matplotlib空格inline
34、矩阵的转置:data = data.T
35、python将nan, inf转为特定的数字:
import numpy as np
a = np.array([[np.nan, np.nan, 1, 2], [np.inf, np.inf, 3, 4], [1, 1, 1, 1], [2, 2, 2, 2]])
where_are_nan = np.isnan(a)
where_are_inf = np.isinf(a)
a[where_are_nan] = 0
a[where_are_inf] = 0
36、将list中某一个元素赋值给变量:a = list[5]
37、np.round([3.00,4.00,5.2]) ----> [3,4,5]
38、a.astype(np.int)---->将数组a里面数据类型修改为整数型
39、读出路径的上级,上上级目录:
#当前文件的路径 pwd = os.getcwd() #当前文件的父路径 father_path=os.path.abspath(os.path.dirname(pwd)+os.path.sep+".") #当前文件的前两级目录 grader_father=os.path.abspath(os.path.dirname(pwd)+os.path.sep+"..")40、python中np.where类似于Matlab中find函数:idx = np.where(a > 2)
41、元组转数组:index = np.array(indx) %indx是元组类型数据
42、数组取特定index的值:
1)y[0:59,](此处y的数据类型是一维数组,float,(107,))
43、通过shuffle打乱数据:from sklearn.utils import shuffle;df = shuffle(df);
44、通过np.delete删除矩阵特定的行(axis = 0),列(axis = 1):X = np.delete(X,(0,1,2,3,4,5,6,7,8,9,10),axis = 0)
45、非零元素个数: print(len(a.nonzero(Y)[0]))
46、非零元素的值:print(a[a.nonzero(Y)[0]])
47、用python怎么读取mat文件的三维矩阵
# coding=utf-8 import scipy.io as sio import numpy as np data = sio.loadmat(r'C:\Users\xiligey\Desktop\C3.mat') # 把这个路径改成你的mat路径即可 print('scipy读取三维矩阵的初步结果: \n%s\n' % data) result = data['C'] print('提取出其中的三维数组: \n%s' % result)
48、读取mat文件并存为npy格式文件,代码如下:
import numpy as np
import scipy.io as sio
mat = np.load('F:/coupling_FC_SC_ASD/child_adol/toConsesusNet_stru/adol_SCN_asd_group_binary.npy')
sio.savemat('adol_SCN_asd_group_binary.mat',{'adol_SCN_asd_group_binary':mat})
49、在这里我们介绍两个拼接数组的方法:np.vstack():在竖直方向上堆叠; np.hstack():在水平方向上平铺
学习笔记1—python基础的更多相关文章
- 【学习笔记】Python基础教程学习笔记
教程视频网盘共享:http://pan.baidu.com/s/1hrTrR5E 03-python基础.if判断 print 输出数据 print("hahahah")----- ...
- Python学习笔记1——Python基础
一. 数据类型和变量 整数:十六进制用0x前缀和0-9,a-f表示 浮点数:小数,科学计数法:10用e代替:整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(包括除法),浮点数运算则可 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- Noah的学习笔记之Python篇:命令行解析
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- Noah的学习笔记之Python篇:函数“可变长参数”
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- Noah的学习笔记之Python篇:装饰器
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- python学习第三讲,python基础语法之注释,算数运算符,变量.
目录 python学习第三讲,python基础语法之注释,算数运算符,变量. 一丶python中的基础语法,注释,算数运算符,变量 1.python中的注释 2.python中的运算符. 3.pyth ...
随机推荐
- Python cv2 OpenCV 中传统图片格式与 base64 转换
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,是一种基于64个可打印字符来表示二进制数据的方法.通过http传输图片常常将图片数据转换成base64之后再进行传输. Base64简 ...
- JDK源码之LinkedHashSet
LinkedHashSet是HashSet和LinkList结合产生的集合,集合中的元素互不相同,且元素采用双向链表进行连接. 1.定义 LinkedHashSet继承了HashSet并且实现了Set ...
- sql存储过程算法
MSSQL执行 : exec proc_NAME ORACLE : beginproc_NAME;commit;end; 1.求素数 MSSQL; CREATE proc [dbo].[EXEC003 ...
- TF-IDF原理与实现
TF-IDF 原理与实现 目录 1.原理 2.伪代码 3.实现 1.原理 \[ TF-IDF = tf_{t,d} \times idf_{t}\\ tf_{t,d} = \frac{术语t在文档d中 ...
- 关于A left join B,A是否一定是主表?
一般情况,我们作左连接 select * from A left join B on A.id=B.a_id;一定认为A就是主表,其实还有另外的情况,我们若将sql改写成 select * from ...
- jsxyhelu的GitHub使用方法
如果只是使用Clone不能称得上是完全使用了GitHub,必须完成PullRequest,而且最好是对大型.带自动构建项目进行PR(比如OpenCV),这样才叫完全掌握GitHub的使用方法,这里分享 ...
- 20165310 NetSec2019 Week6 Exp4 恶意代码分析
20165310 NetSec2019 Week6 Exp4 恶意代码分析 一.实验要求 1.系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间 ...
- Python函数的作用域规则和闭包
作用域规则 命名空间是从名称到对象的映射,Python中主要是通过字典实现的,主要有以下几个命名空间: 内置命名空间,包含一些内置函数和内置异常的名称,在Python解释器启动时创建,一直保存到解释器 ...
- Linux服务器搭建Nexus-Maven私服(适合新手比较基础)
背景 在使用maven构建项目的时候,几乎都会涉及到一个“私服”的概念,那么到底什么是私服?使用私服有能够带来哪些益处? 私服:私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓 ...
- uniGUI试用笔记(九)
uniGUI执行程序部署有3种形式 1.ISAPI模式 部署在IIS或Apache,程序编译为Dll形式,没有试,准备后续专门测试一下. 2.标准执行文件模式 将软件编译成一个独立的Exe文件,包括了 ...
