Python_Tips[1]
来源:互联网 发布:淘宝 发货地不符 编辑:程序博客网 时间:2024/05/16 06:52
Python_Tips[1]
Find替代函数
matlab里面的find真的是很方便,与find对应的在python.numpy里面, 有where函数,但是感觉能力有限,不太方便。
比如matlab中,
a[a>6]=6
或者
label=find(a>6)a[label]=6
可以轻松替换掉大于6的数字。
label[1]找到第一个大于6的值得标号
而在python中,今天看到一个好方法,
import numpy as npa=np.random.rand(4,5)
对象是array的话
也是可以
a[a>0.5]=1
也可以
a[nonzero(a>0.5)]=1
找某行第一次超过某值的标号
labels=nonzero(a[:,0]>0.7)[0][0]
nonzero返回的是n维度的矩阵,对应于a的n维,上文的[0][0]代表第一维的第一个值。
数据的一般处理
fr = open(fileName)stringArr = [line.strip().split(delim) for line in fr.readlines()]#str.strip()去除首尾的空格还包括最后讨厌的回车哦#str.split(',')以,号分隔,返回分隔后的字符串列表#还可以添加一些if条件语句去除空行, 如if line.strip()==''datArr = [map(float,line) for line in stringArr]#map函数可以批量将字符矩阵映射到想要的类型上。以前不知道,搞得很麻烦。#但这里注意stringArr是一个二维列表哦,才能这样做。一维的直接map就可以了。fr.close()#然后就有了准备好的矩阵,好开心。
画图的一般步骤
一开始并不知道面向对象语言是怎么画图的
import matplotlibimport matplotlib.pyplot as pltfig = plt.figure(1)#一开始建立一个画板句柄ax = fig.add_subplot(111)#建立子图的句柄,ax.scatter(dataMat[:,0], dataMat[:,1], marker='^', s=90)#画散点图,变量x,yfig = plt.figure(2)#再画一张图ax2 = fig.add_subplot(111)ax2.scatter(dataMat[:,0], dataMat[:,1], marker='^', s=900)ax2.scatter(reconMat[:,0],reconMat[:,1],marker='o', s=50, c='red')plt.show()#有且只能一起展示出来
0 0
- Python_Tips[1]
- 1
- 1
- 1
- 1
- 1
- 1
- 1》
- 1
- 1
- 1
- 1
- (1)
- 1
- 1
- 1
- 1
- 1
- [转载]备忘:VC++6.0 获取其他窗口中文本框内容
- 用keil创建第一个STM32F103RC项目
- Android UI性能优化实战 识别绘制中的性能问题
- CodeForces 557B-Pasha and Tea【模拟】
- [安卓开发] WebView网页隐藏屏蔽广告元素标签|去除底部广告
- Python_Tips[1]
- Win10使用微软语音TTS正确姿势
- 【BZOJ2152】聪明的可可 树的点分治
- 区块链技术安全
- 地理定位(iOS7)
- web服务器的工作原理和相关协议
- Android按照拼音排序获取联系人并根据拼音首字母获取联系人
- HBase Region分裂
- 测试turtlebot2