Python
象牙塔小明
机器学习
Python/Tensorflow/Spark/Scala
展开
-
Python使用linux命令调用Jupyter文件
https://pypi.org/project/runipy/原创 2022-03-01 11:38:02 · 556 阅读 · 1 评论 -
sklearn中train_test_split的用法
train_test_split的用法注意:旧版本的导入该模块是:from sklearn.cross_validation import train_test_split新版本改成了:from sklearn.model_selection import train_test_split作用:train_test_split函数用于将矩阵随机划分为训练子集和测试子集,并返回划分好的训练集测试集样本和训练集测试集标签。格式:X_train, X_test, y_train, y_test =cr原创 2020-10-18 23:59:44 · 2066 阅读 · 6 评论 -
封装Sklearn中roc_curve函数画ROC曲线并使用roc_auc_score函数计算AUC
画ROC曲线封装函数# 画ROC曲线函数def plot_roc_curve(y_true, y_score): """ y_true:真实值 y_score:预测概率。注意:不要传入预测label!!! """ from sklearn.metrics import roc_curve import matplotlib.pyplot as plt fpr,tpr,threshold = roc_curve(y_true, y_score, po原创 2020-10-18 23:43:43 · 4122 阅读 · 6 评论 -
标签转换为独热码的三种方法Python
方法一:def to_one_hot(label, dimension=46):results = np.zeros((len(label), dimension))for i, label in enumerate(label):results[i, label] = 1.return resultsone_hot_train_label = to_one_hot(train_labels)one_hot_test_label = to_one_hot(test_labels)print(原创 2020-06-07 22:42:00 · 5539 阅读 · 1 评论 -
pandas数据聚合方法—agg方法
方法描述count计算分组中非NA值的数量sum计算非NA值的和mean计算非NA值的平均值median计算非NA值的算术中位数std、var计算非NA值标准差和方差min、max获得非NA值的最小和最大值prod计算非NA值的积first、last获得第一个和最后一个非NA值例如:...原创 2020-01-09 19:33:25 · 1607 阅读 · 0 评论 -
DataFrame和Series转换为ndarray的差别
numpy中的ndarray与pandas的Series和DataFrame之间的相互转换Series转换为ndarray是一个一维数组DataFrame转换为ndarray是一个多维数组原创 2020-01-07 12:59:38 · 1523 阅读 · 0 评论 -
一文搞懂pandas读取保存合并excel对列名index的常用操作
pandas读取excel设置第一列为序号设置参数index_col=0可以设置读取excel时第一列为序号,否则会自动添加一列序号从0开始:data = pd.read_excel(file_path, index_col=0)pandas读取excel设置第一行为列名默认参数 header=0 会设置读取的excel第一行为列名, header=None会新建一行从0开始的序号列名:...原创 2019-12-17 22:39:24 · 5298 阅读 · 0 评论 -
Python计算一个数组中True或False的个数
例如数组:arr = [True, False, False]计算True和False的个数:import numpy as npprint('True个数:', np.sum(arr!=0))print('False个数:', np.sum(arr==0))输出:12原创 2019-11-16 21:24:25 · 29107 阅读 · 4 评论 -
numpy.random.choice函数详解
函数参数:numpy.random.choice(a, size=None, replace=True, p=None)参数解释a一维数组或整数。如果是个数组,则新的样本元素来自这个数组;如果是整数,随机样本来自np.range(a)size单数或元组。如果是单数,输出该数量元素的一维数组;如果是元组,(m, n, k),则生成mnk个样本,排列方式与元组相同。...原创 2019-11-13 10:55:46 · 11356 阅读 · 1 评论 -
Python中的np.random.binomial()二项式分布函数详解
看了很多博客,感觉很多人对np.random.binomial()的解释都写得不是很清楚,或者写错了,或者写得很模糊费解。特别是对该函数的参数解释非常的模糊、不清楚。本文以二项式分布的理解为起点,对该函数进行解释,欢迎讨论指正。二项式分布二项分布是由伯努利提出的概念,指的是重复n次(注意:这里的n和binomial()函数参数n不是一个意思)独立的伯努利试验,如果事件X服从二项式分布,则可以表...原创 2019-11-06 22:35:55 · 32796 阅读 · 11 评论 -
python让scatter能够使不同类别的点有不同的颜色、大小和形状
python自带的scatter函数参数中颜色和大小可以输入列表进行控制,即可以让不同的点有不同的颜色和大小,但是只能是同一种形状。例如例一:import numpy as npimport matplotlib.pyplot as pltdef plotMatrixPoint(Mat, Label): """ :param Mat: 二维点坐标矩阵 :param...原创 2019-10-21 17:14:34 · 25860 阅读 · 1 评论 -
pyinstaller打包有pandas和numpy库过程中遇到的bug及处理
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 130参考博客:https://blog.csdn.net/qq_41185868/article/details/80599390Cannot find existing PyQt5 plugin directories参考博客:https://blog...原创 2019-07-27 08:29:49 · 4433 阅读 · 0 评论 -
python可视化有关的博客推荐
Python数据可视化—seaborn简介和实例原创 2019-07-12 21:15:02 · 275 阅读 · 0 评论 -
python3中的pickle模块
作用:持久化数据,可以用来存取结构化数据。案例一个字典a = {‘name’:‘Tom’,‘age’:22},用pickle.dump存到本地文件,所存数据的结构就是字典,而普通的file.write写入文件的是字符串。读取时,pickle.load返回的是一个字典,file.read返回的是一个字符串。如下代码:import picklea = {'name':'Tom','age':...原创 2018-11-27 16:36:48 · 452 阅读 · 0 评论 -
python中dtype的用法
https://blog.csdn.net/sinat_36458870/article/details/78946053原创 2018-12-04 22:57:16 · 38562 阅读 · 0 评论 -
numpy.argmax()
numpy.argmax(a, axis=None, out=None)返回沿轴axis最大值的索引。Parameters:a : array_like数组axis : int, 可选默认情况下,索引的是平铺的数组,否则沿指定的轴。out : array, 可选如果提供,结果以合适的形状和类型被插入到此数组中。Returns:index_array : ndarray of i...转载 2018-11-03 11:18:51 · 1452 阅读 · 0 评论 -
strip() 方法split()方法
strip() 方法用于移除字符串头尾指定的字符(默认为空格)split()方法通过指定分隔符对字符串进行切片原创 2018-10-30 12:08:30 · 1088 阅读 · 1 评论 -
Python生成随机数random模块
import random# 生成随机浮点数float1 = random.uniform(10, 20)float2 = random.uniform(1, 3)# 生成随机整数[a,b]之间,闭区间int1 = random.randint(10, 20)int2 = random.randint(1, 3)# 多个字符中选取特定数量的字符串str1 = random.sam...原创 2018-10-02 17:02:27 · 317 阅读 · 0 评论 -
Python打印乘法表
row = 1while row <= 9: col = 1 while col <= row: print("%d * %d = %d" % (col, row, col * row), end="\t") #制表符(\t),垂直方向对齐 col += 1 print("")原创 2018-10-03 11:02:17 · 565 阅读 · 0 评论 -
Python一行输出不显示的问题
在使用python函数print()时,如下代码会出现输出无法显示的问题:分三次在一行输出 123print(1, end="")print(2, end="")print(3, end="")当print不加end时,print函数会自动添加换行,和C++不一样需要手动添加cout<endl。加了end,一行后面没有了换行符,这时候是没办法输出的,也就是说,一行输出后面必须要有...原创 2018-10-03 12:09:42 · 4293 阅读 · 1 评论 -
python中list的各种方法使用
list是python中最常用的数据结构name_list = [&amp;quot;zhangsan&amp;quot;, &amp;quot;lisi&amp;quot;, &amp;quot;wangwu&amp;quot;]# 1.取值和索引print(name_list[2])print(name_list.index(&amp;quot;zhangsan&原创 2018-10-03 15:57:25 · 367 阅读 · 0 评论 -
Python中元组tuple的作用以及tuple和list的转换
一、tuple也是一个class,是不可变的list类型,不可以增删改。创建:tup1 = (‘physics’, ‘chemistry’, 1997, 2000);tup2 = (1, 2, 3, 4, 5 );tup3 = “a”, “b”, “c”, “d”;访问:(与list一样)tup1[1:5];修改:不可以修改,只能增加新的部分;tup3 = tup1 + tup2;...原创 2018-10-03 17:00:02 · 17375 阅读 · 0 评论 -
Python字典dict用法
xiaoming_dict = {&quot;name&quot;: &quot;小明&quot;}# 1.取值print(xiaoming_dict[&quot;name&quot;]) # 输出小明的名字# 2.增加/修改xiaoming_dict[&quot;age&quot;] = 18 # 增加xiaoming_dict[&quot原创 2018-10-03 17:12:40 · 288 阅读 · 0 评论 -
Python字符串string的查找和替换
hello_str = "hello world"# 1. 判断空白字符space_str = " \t\n\r"print(space_str.isspace())# 2. 判断是否以指定字符串开始print(hello_str.startswith("hello"))# 3. 判断是否已指定字符串结束print(hello_str.endswith("world")...原创 2018-10-04 11:57:52 · 6466 阅读 · 0 评论 -
Python注释之TODO注释
在单行注释的#后面添加TODO关键字,能够高亮显示注释,并且能通过Project窗口快捷访问,在搭建框架时使用。TODO后面可以添加开发人员的名字,待框架完成后回来实现细节。...原创 2018-10-05 11:38:23 · 5489 阅读 · 0 评论 -
Python的函数形参和返回值
Python的函数形参和返回值传递的都是地址,类似于C++ 中的址传递。C++中默认不加引用符号&是值传递,函数体中会复制形参进行计算而形参的值不变。Python中默认就是址传递。...原创 2018-10-05 20:58:04 · 627 阅读 · 0 评论 -
Python中的全局变量和局部变量
当局部变量和全局变量名字一样时,依然是不同的变量,但是值一样时,地址依然一样。值不一样时,地址不一样,修改局部变量,全局变量的值依然不变,例如:num = 100def test(): num = 99 print(&amp;amp;quot;局部变量num的值:%d,地址为:%d&amp;amp;quot; % (num, id(num)))test()print(&amp;amp;quot;全局变量num的值:%原创 2018-10-05 21:52:02 · 268 阅读 · 0 评论 -
不使用临时变量交换两个变量的值
方法一Python独有的方法:a = 1b = 2print("交换前:a=%d,b=%d" % (a,b))a, b = b, aprint("交换后:a=%d,b=%d" % (a, b))输出:交换前:a=1,b=2交换后:a=2,b=1方法二a = 1b = 100print("交换前:a=%d,b=%d" % (a, b))a =原创 2018-10-05 22:21:00 · 1005 阅读 · 0 评论 -
Python多值参数
定义支持多值参数的函数有时可能可能需要一个函数能够处理的参数个数是不确定的,这个时候,就可以使用多值参数python中有两种多值参数:(1)参数名前加一个*可以接收元组(2)参数名前增加两个 *可以接收字典。一般给多值参数命名时,习惯使用以下两个名字(1)*args——存放元组参数,前面有一个*(2)**kwargs——存放字典的参数,前面有两个*args是arguments的缩写,有变...原创 2018-10-06 16:20:00 · 3715 阅读 · 0 评论 -
Python元组和字典的拆包
在调用带有多值参数的函数时,如果希望:(1)将一个元组变量传递给args(2)将一个字典变量传递给keargs。就可以选择拆包,简化参数的传递,拆包的方式是:在元组变量前加一个星号*在字典变量前增加两个星号**def demo(*args, **kwargs): print(args) print(kwargs)gl_nums = (1, 2, 3)gl_dict...原创 2018-10-06 16:42:06 · 6060 阅读 · 4 评论 -
Python递归调用实现数字累加
def sum_numbers(num): # 1.出口 if num == 1: return 1 # 3.数组累加 temp = sum_numbers(num - 1) return num + tempresult = sum_numbers(3)print(result)输出:6...原创 2018-10-06 16:54:34 · 6112 阅读 · 0 评论 -
python列表list负数索引
例如列表:aaa = [1, 3, 4]-对Python来说,负数索引表示从右边往左数,最右边的元素的索引为-1,倒数第二个元素为-2.,。。。aaa[-3]=aaa[0]=1aaa[-2]=aaa[1]=3aaa[-1]=aaa[2]=4小于-3,大于2的索引会报错...原创 2018-10-14 16:49:32 · 25845 阅读 · 1 评论 -
python的range()函数
如果N是大于等于1的整数:range(N)则表示一个数列 0,1,2,…,(N-1)原创 2018-10-15 11:07:56 · 624 阅读 · 0 评论