1.对Json数据的读取、存入
json数据存储为Python字典格式,python模块中有json.pickle两个模块负责json数据的处理
json模块:dumps、dump、loads、load
pickle模块:dumps、dump、loads、load
json dumps把数据类型转换成字符串 dump把数据类型转换成字符串并存储在文件中 loads把字符串转换成数据类型 load把文件打开从字符串转换成数据类型
参考博客
json.dump(file,list) //写入数据
json.load(file,list) //读取数据
2.Python绘图工具matplotlib学习
matplotlib安装:pipinstall matplotlib
导入模块: from matplotlib import pyplot as plt
绘图:
x = [1,2,3]
y1 = [1,2,3]
plt.plot(x,y1,'r--') //线段颜色和形状
// plot.show() // 分开写则显示是两张图
y2 = [1,3,5]
plt.plot(x,y2,'g--')
plt.show() // 显示图片,两个线段显示在一张图上
3. python包管理工具anaconda
anaconda是强大的python包管理工具,包含python常用的工具包,同时包含python环境,直接下载安装anaconda就可以使用python。
使用anaconda时,pycharm应配置anaconda虚拟环境才可以使用。
具体步骤如下:
- 点击File选项。
- 点击Settings选项。
- 点击Project选项。
- 点击Project Interpreter选项。
- 在右面Project Interpreter方框里面则是现在pycharm所使用的python环境,如若添加anaconda环境,点击方框右边设置按钮,点击Add。
- 在弹出来的框里面,第一行虚拟环境选项中选择右方已存在环境这一选项,即Existing envirment选项,在Interpreter方框中选择anaconda安装路径,例如: D:\anaconda\python.exe,点击确定
7.关掉当前页面,返回上一级,在方框中选择刚刚添加的anaconda路径,点击应用即可。 - 验证是否环境配置成功:点击pycharm下面Python解释器即Python Console,若Python解释器显示python路径为刚刚设置的anaconda路径则代表配置成功。
4. 排序函数sort()
,sorted()
python中自带的列表排序函数有sort()
和sorted()
,两个的区别在于sort()
函数直接对原list进行排序并改动,不生成新的list,sorted()
函数对原list不做任何改动,直接生成新的的list
用法如下:
a = [3,2,1]
//sort()函数对a进行改动
a.sort()
a //此时a为[1,2,3]
a = [3,2,1]
//sorted()函数对a不改动,生成新的list
b = sorted(a)
a //a仍然为[3,2,1]
b //b为[1,2,3]
若对二维list进行排序,或者逆排序,语法如下:
a = [[3,2,1], [1,2,3], [2,1,3]]
// reverse 代表逆序,即从大到小排序, x[0]代表将二维list的第一列进行排序
a.sort(key=lambda x: x[0], reverse=True)
a // a = [[3,2,1], [2,1,3], [1,2,3]]
5. 第三方数据分析工具包: scikit-learn
scikit-learn是Python的一个开源机器学习模块,它建立在NumPy,SciPy和matplotlib模块之上能够为用户提供各种机器学习算法接口,可以让用户简单、高效地进行数据挖掘和数据分析。
安装sklearn之前,需要安装numpy, scipy和matplotlib三个包,三个包安装好以后,直接使用pip安装sklearn就可以 pip install scikit-learn
使用sklearn:
使用k-means聚类:
//使用sklearn.cluster.KMeans
from sklearn import metrics //评分
from sklearn.cluster import KMeans as km //k-means
cluster_data = ... //聚类数据有n个,一共m个特征,则cluster_data数组应为n行,m列
result = km(n_clusters=5).fit_predict(k) //使用kmeans进行聚类并预测所属类别
// 可以通过score函数对聚类结果进行评分,评分越高代表聚类效果越好
score = metrics.calinski_harabaz_score(cluster_data,result)
KMeans类的主要参数有:
1、 n_clusters: 即我们的k值,一般需要多试一些值以获得较好的聚类效果。k值好坏的评估标准在下面会讲。
2、max_iter: 最大的迭代次数,一般如果是凸数据集的话可以不管这个值,如果数据集不是凸的,可能很难收敛,此时可以指定最大的迭代次数让算法可以及时退出循环。
3、n_init:用不同的初始化质心运行算法的次数。由于K-Means是结果受初始值影响的局部最优的迭代算法,因此需要多跑几次以选择一个较好的聚类效果,默认是10,一般不需要改。如果你的k值较大,则可以适当增大这个值。
4、init: 即初始值选择的方式,可以为完全随机选择'random',优化过的'k-means++'或者自己指定初始化的k个质心。一般建议使用默认的'k-means++'。
5、algorithm:有“auto”, “full” or “elkan”三种选择。"full"就是我们传统的K-Means算法, “elkan”是我们原理篇讲的elkan K-Means算法。默认的"auto"则会根据数据值是否是稀疏的,来决定如何选择"full"和“elkan”。一般数据是稠密的,那么就是 “elkan”,否则就是"full"。一般来说建议直接用默认的"auto"