文章目录
- 1.python删除文件或者文件夹
- 2.返回一个np.array中等于某个值的下标
- 3.字典和json文件的转化
- 4.数组合并
- 5.pycharm提示前面的f,c,v的含义
- 6.省略号 ...
- 7. np.isin()
- 8.不进入python3 运行代码
- 9.按位取反运算符:~
- 10.dataframe.plot()画图点的透明度
- 11. dataframe.plot()按两列画图,并设置圆点的大小和颜色
- 12.np.r_和np.c_连接数组
- 13.super(类,self)的用法
- 14.np.all用法
- 15.对字典按value排序
- 16.numpy.atleast_1d(*arys)
- 17.np.cumsum
- 18. python2 : round(0.5)=1.0,python 3:round(0.5)=0
- 19.reshape的排列规则
- 20. python 输出大型矩阵改为没有省略号
- 21.python的矩阵以‘行’为单位进行存储
- 22.画图时-图形窗口的位置
- 23.生成一定shape的整数数组
- 24.pip list
- 25.ubutnu升级spyder
- 26.assert表达式
- 27.双端队列用法
- 28.生成随机数
- 29.np.argsort(x)
- 30.计算时间差的两种方法
- 31.pip insatall cv2
- 32.判断多维数据是否等于某个数值
- 33.from .. import理解
- 34. 逆序输出一个list——a[::-1]
- 35.若包存在,则导入
- 36. 二维列表排序
----不断更新中
1.python删除文件或者文件夹
os.remove("path/to/file") #删除一个文件
os.rmdir("path/to/dir") #删除一个空的文件夹
shutil.rmtree("path/to/dir") #删除一个文件夹及其内部所有内容
2.返回一个np.array中等于某个值的下标
np.where(arr==0)
3.字典和json文件的转化
从json文件读入成字典:
import json
with open("file.json",'r') as f:
data=json.load(f)
有时候json里有乱码的字符(例如某些格式的中文字符)会读取错误。
把字典写入json文件:
dict_={"A":1}
json_data = json.dumps(dict_)
with open("/tmp/dict_json.json", 'w') as f:
f.write(json_data)
4.数组合并
竖向合并如下
np.concatenate([x01,x02,x03,x04]) ##四个数组的shape均为(50,2),合并之后shape为(200,2)
横向合并如下
np.concatenate([x01,x02,x03,x04],axis=1) ##四个数组的shape均为(50,2),合并之后shape为(50,8)
5.pycharm提示前面的f,c,v的含义
p:parameter 参数
m:method 方法
c:class 类
v:variable 变量
f:function 函数
6.省略号 …
… 在Python里是个对象,type(…)是ellipsis;
常出现在 函数参数之后,或者冒号之后。
省略号的一个解释
7. np.isin()
np.isin(array_A,array_B)
array_A的每个元素是否在array_B中,返回长度为array_A的布尔类型的数组。
8.不进入python3 运行代码
python3 -c "import jupyter, matplotlib"
9.按位取反运算符:~
对数据的每个二进制位取反,即把1变为0,把0变为1
10.dataframe.plot()画图点的透明度
alpha为点的透明度,alpha越小,透明度越大。
dataframe.plot(kind="scatter", x="longitude", y="latitude", alpha=0.1)
11. dataframe.plot()按两列画图,并设置圆点的大小和颜色
#housing是波士顿房价的数据集,按两列画散点图,圆的半径表示人口,颜色表示房价
housing.plot(kind="scatter", x="longitude", y="latitude", alpha=0.4,
s=housing["population"]/100, label="population",
c="median_house_value", cmap=plt.get_cmap("jet"),colorbar=True,
)
plt.legend()
12.np.r_和np.c_连接数组
np.r_是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等,类似于pandas中的concat();
np.c_是按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等,类似于pandas中的merge()。
13.super(类,self)的用法
结果为该类的父类,例子如下:
class A():
def go(self):
print ("go A go!")
def stop(self):
print ("stop A stop!")
def pause(self):
raise Exception("Not Implemented")
class B(A):
def go(self):
super(B, self).go()
print ("go B go!")
测试代码:
a=A()
b=B()
a.go()
b.go()
上述的输出结果:
“go A go!”
“go A go!”
“go B go!”
14.np.all用法
检查一个数组中元素是否都为True。
15.对字典按value排序
sorted(dict,key=lambda x:x[1],reverse=True) #此时是降序排列
16.numpy.atleast_1d(*arys)
Convert inputs to arrays with at least one dimension. .
17.np.cumsum
累加数组前k个元素,得到一个同样长度的数组。
18. python2 : round(0.5)=1.0,python 3:round(0.5)=0
19.reshape的排列规则
>>a=[0, 1, 2, 3, 4, 5, 6, 7]
>>np.reshape(a,[2,4])
array([[0, 1, 2, 3],
[4, 5, 6, 7]])
20. python 输出大型矩阵改为没有省略号
np.set_printoptions(threshold='nan')
21.python的矩阵以‘行’为单位进行存储
22.画图时-图形窗口的位置
把图形画到console里面,输入一行:
%matplotlib inline
单独窗口画图,输入一行:
%matplotlib qt/tk
23.生成一定shape的整数数组
np.random.randint(5,size=(2,4))
24.pip list
查看ubutnu中已安装的包清单
25.ubutnu升级spyder
pip install --upgrade spyder
26.assert表达式
若表达式不成立(比如函数参数组成的表达式)会以“警告”或“报错”的形式返回,如:
assert 1==0 #会“报错”
assert 1==1 #不“报错”
27.双端队列用法
import collections
a=collections.deqeue()
a.append('first') #a=['first']
a.appendleft('second') #a=['second','first']
b=[3,4]
a.extendleft(b) #a=[4,3,'second','first']
a.popleft() #输出4
28.生成随机数
import numpy as np
np.random.choice(a,b,replace=True)
生成的array有重复数据,replace=False,生成的array无重复元素。
29.np.argsort(x)
得到array x中元素升序后的下标
30.计算时间差的两种方法
import datetime
start=datetime.now()
end=datetime.now()
(end-start).seconds
import time
start=time.clock()
end=time.clock()
print(end-start)
31.pip insatall cv2
只是安装了python-cv2的接口
32.判断多维数据是否等于某个数值
例如:sentences=[[1,6,5,6,7],[2,2,6,4,4,],[10,4,4,4,4]]
判断 sentences==4
返回 False;
如果把sentences转成tensorflow或者pytorch的tensor;
a=tf.convert_to_tensor(sentences),
然后再判断 a==4,返回一个多维bool类型数据(mask)
例如:
array([
[False, False, False, False, False],
[False, False, False, True, True],
[False, True, True, True, True]])
33.from … import理解
.代表当前目录,…代表上一层目录,…代表上上层目录。
例如:在模块A.B.C中的代码:
from . import D # 导入A.B.D
from .. import E # 导入A.E
from ..F import G # 导入A.F.G,.. 和 F是连着的,中间没有空格
34. 逆序输出一个list——a[::-1]
a=[1,2,3,4,5,6]
a[::-1]
35.若包存在,则导入
try:
from apex import amp
except:
mixed_precision = False # not installed
36. 二维列表排序
a=[[160,55],[165,50],[165,53],[165,44],[163,60],[170,80],[170,90],[170,85],[174,66],[177,60]]
#第0维升序,第1维度原来的顺序
sorted(a,key=lambda x:x[0])
#第0维升序,第1维度升序
sorted(a,key=lambda x:(x[0],x[1]))
#第0维升序,第1维度降序
sorted(a,key=lambda x:(x[0],-x[1]))