OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作。
可以查看OS模块的帮助文档:
->>> import os #导入os模块
->>> help(os) #查看os模块帮助文档,里面详细的模块相关函数和使用方法
二、OS模块重要函数和变量:
1 )、os.sep 更改操作系统中的路径分隔符。
2 )、os.getcwd()获取当前路径,这个在Python代码中比较常用。
3 )、os.listdir() 列出当前目录下的所有文件和文件夹。
4 )、os.remove() 方法可以删除指定的文件。
5 )、os.system() 方法用来运行shell命令。
6 )、os.chdir() 改变当前目录,到指定目录中。
Python中os.urandom(n)的作用
随即产生n个字节的字符串,可以作为随机加密key使用~
import os
print (os.name)
如果你用windows系统,就会使出nt,同理linux、unix系统就会输出posix。
一、箱体图介绍
箱体图Boxplot是一种表示数据分布的方法(wiki:boxplot),一个基本的箱体图从上到下分别表示最大值,上四分位,均值,下四分位,最小值。有的箱体图中还会加入异常值等。
箱体图有以下几个优点:
1. 可以直观明了地识别数据中的异常值
2. 利用箱体图可以判断数据的偏态和尾重
3. 利用箱体图可以比较不同批次的数据形状
matplotlib库是python中实现数据处理与展示的非常优秀的类库,它提供了超过100多种的图像处理和现实方法
matplotlib定义了各种可视化的类,matplotlib.pyplot是绘制各种图形的命令子库,相当于快捷方式,通常情况下我们使用它的别名plt
import matplotlib.pyplot as plt
一些常用方法:
plt.plot(x,y,format_string,**kwargs)
x轴数据,y轴数据,format_string控制曲线的格式字串,format_string由颜色字符,风格字符,和标记字符
plt.xlim、plt.ylim 设置横纵坐标轴范围
plt.xlabel、plt.ylabel 设置坐标轴名称
plt.xticks、plt.yticks设置坐标轴刻度
matplotlib.pyplot.savefig
Save the current figure.
Call signature:
savefig(fname, dpi=None, facecolor='w', edgecolor='w',
orientation='portrait', papertype=None, format=None,
transparent=False, bbox_inches=None, pad_inches=0.1,
frameon=None)
【Python】解决使用 plt.savefig 保存图片时一片空白
问题
当使用如下代码保存使用 plt.savefig 保存生成的图片时,结果打开生成的图片却是一片空白。
import matplotlib.pyplot as plt
""" 一些画图代码 """
plt.show()
plt.savefig("filename.png")
原因
其实产生这个现象的原因很简单:在 plt.show() 后调用了 plt.savefig() ,在 plt.show() 后实际上已经创建了一个新的空白的图片(坐标轴),这时候你再 plt.savefig() 就会保存这个新生成的空白图片。
解决
知道了原因,就不难知道解决办法了,解决办法有两种:
在 plt.show() 之前调用 plt.savefig();
import matplotlib.pyplot as plt
""" 一些画图代码 """
plt.savefig("filename.png")
plt.show()
画图的时候获取当前图像(这一点非常类似于 Matlab 的句柄的概念):
gcf: Get Current Figure
fig = plt.gcf()
plt.show()
fig1.savefig('tessstttyyy.png', dpi=100)
遇到的小问题:
plt.savefig('C:\Users\Administrator\Desktop\California housing prices.jpg', dpi=1000)
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
解决办法:路径错误。window 读取文件可以用\,但是在字符串中\是被当作转义字符来使用,所以’d:\a.txt’会被转义成’d:\a.txt’这是正确路径,所以不会报错。而‘C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg ’中经过转义之后可能就找不到路径的资源了,例如\t可能就转义成tab键了。Linux下路径:/
matplotlib.pyplot.hist()
hist(x,bins) 函数中bins是指直方图的总个数,个数越多,条形带越紧密。
matplotlib之hist详解
https://blog.csdn.net/u012111465/article/details/79375897
Hands-on Machine Learning with Scikit-Learn&TensorFlow P54有这样的代码:
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()
用一个已经定义好的叫作“jet”的color map,它的范围是从blue(low values) 到red(high values)
关于colormap选择问题我们可以查看官方文档https://matplotlib.org/users/colormaps.html
这个页面也可以:https://matplotlib.org/examples/color/colormaps_reference.html
可以看到,cmap类型多种多样,可分为以下五个大类:Perceptual Uniform Sequential Colormaps Sequential Sequential2 Diverging Qualitative Miscellaneous
每个具体的cmap后加"_r"表示翻转颜色
matplotlib.pyplot.plot官方文档:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html
import random
random.random() 生成0和1之间的随机浮点数float
它其实是一个隐藏的random.Random类的实例的random方法。就是说你直接用random.random()的时候,其实有一个隐藏生成的random.Random类实例,也就是random.Random()