
Python
Kenn7
GitHub:KennCoder7
展开
-
MLP,CNN,RNN前向传播与反向传播推导和Python实现
Python实现:https://github.com/KennCoder7/DNN-numpy原创 2020-10-15 14:27:21 · 810 阅读 · 0 评论 -
python numpy 统计数组中某一元素出现次数函数
import numpy as npdef np_count(nparray, x): i = 0 for n in nparray: if n == x: i += 1 return iarr = np.array([2, 3, 3, 1, 2, 2])print(np_count(arr, 2))output: 3原创 2020-07-22 11:51:19 · 9478 阅读 · 2 评论 -
改进np.unique不自动排序 np_unranked_unique
import numpy as npdef np_unranked_unique(nparray): n_unique = len(np.unique(nparray)) ranked_unique = np.zeros([n_unique]) i = 0 for x in nparray: if x not in ranked_unique: ranked_unique[i] = x i += 1 .原创 2020-07-22 11:49:12 · 1783 阅读 · 0 评论 -
变位词判断问题
heart & earth python & typhon 写一个bool函数判断两个词是否为变位词#解法1:逐字检查!由于在Python中字符串其中字符无法改变,先将单词赋值到列表中解法1运行时间数量级为O(n^2)def anagram1kenn(s1, s2): alist = list(s1) blist = list(s2)...原创 2020-05-06 17:29:57 · 346 阅读 · 0 评论 -
Python中常用的绘图函数 matplotlib.pyplot
更详细了解的请参考Python绘图 、【Matplotlib】绘图常见设置说明颜色:https://www.cnblogs.com/darkknightzh/p/6117528.html目录1. 画折线图:2. 画散点图3. 画带有点的折线图4. x1数量过多,无法都显示在x轴上,可以旋转90度显示:5. 加上标题,xy轴名字,网线6. 指定x,y坐标范围7...原创 2018-11-17 17:09:04 · 1280 阅读 · 0 评论 -
Python中等距取出一个数组其中n个数 函数实现
应用场景:实验中不断得到新数据,想将数据图形化,但随着时间推移,数据越来越多,此时需要我们等距选择数据列表中固定数量的数据,来进行图形化。注:保留首尾数据。import numpy as npa = np.arange(0, 10)b = np.arange(0, 15)c = np.arange(0, 20)d = np.arange(0, 30)e = np.ar...原创 2018-11-17 16:50:39 · 8287 阅读 · 2 评论 -
Python中使用print()不换行输出
print()函数中有一个参数为end,默认值为'\n',也就是换行符。所以,将这个参数end=' ',即可实现print()不换行输出。print("Test1:")print("Hello")print("World")print("Test2:")print("Hello", end=' ')print("World")效果:btw, print()还原创 2018-11-16 20:22:01 · 3186 阅读 · 0 评论 -
Python中自己写一个计时器,计算一个过程所需秒数
import timeimport sysimport numpy as npi = np.arange(1, 5000)def k_timer(bool_start_end, start_time): if bool_start_end: return time.time() else: print("# It takes %ds"...原创 2018-11-16 20:04:22 · 2841 阅读 · 0 评论 -
Python随机取一个矩阵数组的某几行
import numpy as nparray = np.array([0, 0])for i in range(10): array = np.vstack((array, [i+1, i+1]))print(array)# [[ 0 0]# [ 1 1]# [ 2 2]# [ 3 3]# [ 4 4]# [ 5 5]# [ 6 6]#...原创 2018-11-12 12:13:57 · 12719 阅读 · 0 评论 -
Python中使用pandas.get_dummies()生成one-hot编码标签
one-hot编码是监督学习中经常对标签处理的一种方式。假设我们有一组标签:import numpy as npimport pandas as pdlabels = np.array(['Cat', 'Dog', 'Dog', 'Cat', 'Bird', 'Fish'])print("Labels shape: %d" % labels.shape)print("Label...原创 2018-11-20 12:37:10 · 1766 阅读 · 1 评论 -
Python中求矩阵的逆
import numpy as npkernel = np.array([1, 1, 1, 2]).reshape((2, 2))print(kernel)print(np.linalg.inv(kernel))注意,Singular matrix奇异矩阵不可求逆原创 2018-11-26 19:48:25 · 30274 阅读 · 3 评论 -
Python中的scipy.stats.mode函数,寻找出现次数最多的成员
在Python中,我们可以用scipy.stats.mode函数寻找数组或者矩阵每行/每列中最常出现成员以及出现的次数 。from scipy.stats import modedef mode(a, axis=0, nan_policy='propagate'):函数作用:返回传入数组/矩阵中最常出现的成员以及出现的次数。如果多个成员出现次数一样多,返回值小的那个。举例...原创 2018-12-04 18:45:48 · 24899 阅读 · 1 评论 -
Python中制作带数字的进度条
简单制作一个进度条,效果如下:不多说,直接上代码:import timeEACH_STEP_COST_TIME = 0.3PROCESS_TOTAL_STEP = 40def process_bar(current_state, total_state, bar_length=20): current_bar = int(current_state / tota...原创 2018-11-30 18:37:20 · 503 阅读 · 0 评论 -
Python中制作有趣的流水灯
1. 普通的流水灯import timeimport sysFRESH_TIME = 0.3LENGTH = 7mod = 1if mod == 1: print("Flowing light:") while mod == 1: for i in range(LENGTH): bar = ['['] + [' '] * ...原创 2018-12-01 11:29:52 · 2604 阅读 · 0 评论 -
Python中找出数组中第二大的数
已知numpy函数库中max和argmax函数可以得出一个数组中最大的成员以及所在位置:import numpy as nparr = [2, 3, 4, 1, 7, 6, 5]print("# arr中最大的数为{},位于第{}位".format(np.max(arr), np.argmax(arr)+1))那么如何得到一个数组中第二大的成员呢?我的思想是:将原数组中最大...原创 2018-12-10 19:56:21 · 19224 阅读 · 1 评论 -
Python numpy 归一化和标准化 代码实现
归一化 (Normalization)、标准化 (Standardization)和中心化/零均值化 (Zero-centered)def normalization(data): _range = np.max(data) - np.min(data) return (data - np.min(data)) / _rangedef standardization(d...原创 2019-01-14 13:29:04 · 178953 阅读 · 4 评论 -
Python中enumerate()的使用
如何在一场面试中展现你对Python的coding能力?| 技术头条这篇文章中提到了在python中使用enumerate()可以解决FizzBuzz问题:即用“fizz”替换所有可被3整除的整数,用“buzz”替换所有可被5整除的整数,将所有可被3和5整除的整数替换为“fizzbuzz”。numbers = [45, 22, 14, 65, 97, 72]for i, num in...原创 2019-04-17 11:04:29 · 1329 阅读 · 0 评论 -
PyCharm+Anaconda安装使用pyinstaller打包tensorflow程序
1. 打开Anaconda Prompt2. 输入pip install pyinstaller3.成功安装pyinstaller4. 用PyCharm打开相应python项目,进入Terminal找不到的话:5. 输入pyinstaller -F xxx.pypyinstaller的相关参数请参考https://blog.youkuaiyun.com/henn...原创 2018-11-08 14:59:02 · 4375 阅读 · 2 评论 -
Python中使用%进行格式化输出
1. 打印字符串print("His name is %s" % "Kenn")效果:2.打印整数print("He is %d years old" % 25)print("He is %d years old, and born in %d" % (25, 1990))效果:3.打印浮点数print("His height is %f m" ...转载 2018-11-13 22:02:03 · 873 阅读 · 0 评论 -
Python统计列表中各个元素出现次数
labels = np.load('data/np/np_real_str_labels_1d_v1.npy')print(labels)print(np.unique(labels))print(labels.shape[0])from collections import Counterprint(Counter(labels))结果:['Jogging' 'Jogging...原创 2018-11-02 12:54:49 · 2147 阅读 · 0 评论 -
Python将列表中不同字符换为不同数字
在做机器学习项目时,经常要将列表中不同字符换为不同数字,比如:['Jogging' 'Jogging' 'Jogging' 'Jogging' 'Jogging' 'Jogging' 'Upstairs' 'Upstairs' 'Downstairs' 'Downstairs' 'Downstairs']转换为[1 1 1 1 1 1 2 2 0 0 0] 我估计应该有专用的n...原创 2018-11-02 09:57:34 · 1150 阅读 · 1 评论 -
Tensorflow如何保存、读取model (即利用训练好的模型测试新数据的准确度)
目标:cnn2d.py cnn2d_test.py 训练网络,并保存网络模型 读取网络,用测试集测试准确度 直接贴代码:(只贴了相关部分,浏览完整代码请到GitHub)1. cnn2d.pyimport tensorflow as tfimport numpy as npfrom sklearn import metricsprint("### Proce...原创 2018-11-06 22:07:57 · 7282 阅读 · 0 评论 -
Python中使用sys.stdout.write()显示处理进度
有些时候当我们处理数据的时候,需要显示处理进度:import sysfrom time import sleepdef add1(j): for n in range(len(j)): sleep(0.0001) j[n] = j[n] + 1 sys.stdout.write("\r# Process: %0.1f %%" % (...原创 2018-11-09 21:10:17 · 4173 阅读 · 3 评论 -
PyCharm+GitHub 上传/下载项目 + 更新代码
1. 将代码保存到网络服务器/从网络服务器中下载代码2. 在两台或多台电脑上对同一个python项目进行操作利用PyCharm和GitHub实现这些。PyCharm需要为Professional版本,Community版本不行。Professional版本可以参考:https://blog.youkuaiyun.com/u014044812/article/details/78727496...原创 2018-11-04 16:45:59 · 16306 阅读 · 7 评论 -
PyCharm与git/GitHub取消关联
上一篇博客讲到了如果将PyCharm上的python project上传到GitHub上。我们发现,将project上传至GitHub,本质是一个git版本控制问题: 在进行git版本控制后,有些时候会产生麻烦比如你新建了一个new file,但如果你不把它添加到git中,它就会变为红色那么如何取消Pycharm与GitHub的关联呢?1. 简单方法:2. 彻底...原创 2018-11-04 20:40:18 · 12366 阅读 · 9 评论 -
Python中permutation函数应用、list与array转换
import numpy as npimport itertools as ittest = [1, 2, 3]test0 = it.permutations(test, 3)print("print test0: ", test0)# print test0: <itertools.permutations object at 0x000001B87F78FC50>...原创 2018-11-04 22:43:50 · 5734 阅读 · 1 评论 -
PyCharm在Run窗口运行而不是在Python Console运行
最近用PyCharm时遇到了一个问题:运行程序时不会出现run窗口,而是在Python Console中运行。参考了https://blog.youkuaiyun.com/qiumokucao/article/details/81475080原创 2018-11-07 13:20:30 · 20402 阅读 · 5 评论 -
Python中os.path和os.makedirs的运用(判断文件或文件夹是否存在,创建文件夹)
import osimport numpy as npdata = np.array([1, 2, 3])if not os.path.exists("./data/"): print("# path not exists") os.makedirs("./data/") if not os.path.exists("./data/data.npy"): ...原创 2018-11-10 11:34:28 · 8207 阅读 · 0 评论 -
Python中数组矩阵的翻转(翻转180度,向左翻转90度,向右翻转90度)
Python中数组矩阵的翻转(翻转180度,向左翻转90度,向右翻转90度)转载请表明原处:https://blog.youkuaiyun.com/kane7csdn/article/details/83928848先定义数组:a = np.array(([1, 2, 3], [4, 5, 6], [7, 8, 9]))a4d = np.array(([1, 2, 3, 4], [2, 3, ...原创 2018-11-10 13:44:03 · 17564 阅读 · 2 评论 -
Tensorflow中一些函数找不到引用问题(cannot find reference)
比如dynamic_rnn()这个函数是存在于tensorflow库中的,但在__init__.py中未提及解决方法:打开__init__.py(每个人的目录不同)写入 解决了原创 2018-11-07 18:35:37 · 14799 阅读 · 4 评论 -
Python重组列表,使列表中 每个成员 都与 其他成员 相临
比如说列表中有Kenn、Tom、Jerry、Jenifer、Candy,想让其中每个人都与其他四个人相邻:import numpy as npSI = np.array([], dtype=int)for i in range(5): SI = np.append(SI, i+1)print(SI) # [1 2 3 4 5]people = ['Kenn', 'To...原创 2018-11-05 20:05:39 · 788 阅读 · 0 评论 -
Python中生成并绘制混淆矩阵(confusion matrix)
在机器学习中经常会用到混淆矩阵(confusion matrix),不了解的同学请参考这篇博文:ML01 机器学习后利用混淆矩阵Confusion matrix 进行结果分析本文参考:使用python绘制混淆矩阵(confusion_matrix)首先import一些必要的库:from sklearn.metrics import confusion_matrix # 生成...原创 2018-11-05 21:11:35 · 67167 阅读 · 12 评论 -
Python使用urllib下载文件以及使用zipfile解压文件
首先定义文件下载路径,文件名import osfrom six.moves import urllibimport zipfileDATA_URL = 'https://archive.ics.uci.edu/ml/machine-learning-databases/00240/UCI%20HAR%20Dataset.zip'DATA_DIR = './dataset/'DATA...原创 2018-11-13 11:07:30 · 4933 阅读 · 0 评论 -
Python中使用numpy对序列进行离散傅里叶变换DFT
看了大佬对DFT的介绍后感觉离散傅里叶变换对序列信号的处理还是很有用的,总结下来就是DFT可以增加有限长序列的长度来提高物理分辨率。自己用python中的numpy库实现了一下:其中绘图库的使用请参考:Python绘图将有效长度为4的单位序列,变换为长度16的DFT谱线。import numpy as npimport matplotlib.pyplot as plta...原创 2018-11-13 19:47:35 · 8097 阅读 · 1 评论 -
Python中用input同时输入多个数
n = input("1st enter:")print(n)print(type(n))n = int(input("2nd enter:"))print(n)print(type(n))n, m, c = input("3rd enter:")print(n, m, c)print(type(n))n, m, c = eval(input("4th enter:"))...原创 2018-11-13 21:29:25 · 44207 阅读 · 3 评论 -
Python取多维数组第n维的前几位
现在我们有一个shape为(7352, 9, 128, 1)的numpy数组。想要取出第2维的前三个数据,构成新数组(7352, 3, 128, 1)我的思想是:将第2维数据转置(transpose)到第一维,再用切片(slice)取出前三个数据,再转置回去:print("# original", input.shape)input_transpose = input.transp...原创 2018-12-04 19:58:25 · 7777 阅读 · 0 评论