python
孙ちゃん(颖)♂
一点点前进~
展开
-
Python字典视图浅析
字典的items(),keys()和values()方法用于返回字典键值对的视图对象。视图对象支持迭代操作,并可反应未来对字典的修改。视图对象不是列表,不支持索引。通常list()将视图对象转换为列表。1.items() items方法返回键值对视图。例如:x={'name':'john','age':25}y=x.items()#返回键值对视图print("y=x.items()-->",end="")print(y)#显示键值对视图,键值对视图为dict_items()原创 2020-11-03 16:31:29 · 1309 阅读 · 1 评论 -
对比 C++ 和 Python,谈谈指针与引用
https://www.cnblogs.com/pythonista/p/11178705.html原创 2020-10-30 11:35:20 · 176 阅读 · 0 评论 -
浅析NumPy 副本和视图以及Python中append() 与深拷贝、浅拷贝
NumPy 副本和视图副本是一个数据的完整的拷贝,如果我们对副本进行修改,它不会影响到原始数据,物理内存不在同一位置。视图是数据的一个别称或引用,通过该别称或引用亦便可访问、操作原有数据,但原有数据不会产生拷贝。如果我们对视图进行修改,它会影响到原始数据,物理内存在同一位置。视图一般发生在:1、numpy 的切片操作返回原数据的视图。 2、调用 ndarray 的 view() 函数产生一个视图。副本一般发生在:Python 序列的切片操作,调用deepCopy()函数。 调用 n原创 2020-10-28 23:31:13 · 342 阅读 · 0 评论 -
特征选择 (feature_selection)
本文主要参考sklearn(0.18版为主,部分0.17)的1.13节的官方文档,以及一些工程实践整理而成。 当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征:特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。 特征与目标的相关性:这点比较显见,与目标相关性高的特征,应当优选选择。除移除低方差法外,本文介绍的其他方法均从相关性考虑。根据特征选择的形式又可原创 2020-08-29 18:18:41 · 860 阅读 · 0 评论 -
Pandas数据分析——超好用的Groupby与map、apply、applymap详解
Groupby详解 在日常的数据分析中,经常需要将数据根据某个(多个)字段划分为不同的群体(group)进行分析,如电商领域将全国的总销售额根据省份进行划分,分析各省销售额的变化情况,社交领域将用户根据画像(性别、年龄)进行细分,研究用户的使用情况和偏好等。在Pandas中,上述的数据处理操作主要运用groupby完成,这篇文章就介绍一下groupby的基本原理及对应的agg、transform和apply操作。为了后续图解的方便,采用模拟生成的10个样本数据,代码和数据如下:co...转载 2020-08-21 23:01:14 · 4657 阅读 · 0 评论 -
Python之基本数据类型与数据结构
Python之基本数据类型与数据结构一、基础数据类型 标准数据类型: ·不可变数据类型 Number(数字):int、float、bool、complex(复数) String(字符串) Tuple(元祖):不可变,无法通过下标来修改值 ·可变数据类型 List(列表):[ ] Set(集合):{ } Dictionary(字典):{ key:value} 可变数据类型:当值改变时,.原创 2020-08-18 15:59:02 · 365 阅读 · 0 评论 -
pandas.Series.add中参数fill_value一些理解
个人猜测这个值是把a和b中value=NaN的值都变成fill_value,然后a和b相同索引的value相加,缺失值用NaN代替原创 2020-08-17 22:55:56 · 2526 阅读 · 1 评论 -
python之pandas用法笔记
一、生成数据表1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用import numpy as npimport pandas as pd2、导入CSV或者xlsx文件:df=pd.DataFrame(pd.read_csv('name.csv'),header=1)df=pd.DataFrame(pd.read_excel('name.xlsx'))3、用pandas创建数据表:import numpy as npimport pandas as原创 2020-08-17 19:04:14 · 522 阅读 · 0 评论 -
Numpy的拷贝和视图
当对数组进行运算和操作时,其数据有时会被拷贝到一个新的数组而有时又不会拷贝。这一点常常对刚使用NumPy的用户造成困惑。以下有三种情况:1. 完全不拷贝简单的任务是不会对数组或其数据进行拷贝的。Python传递可变对象的引用,因此函数调用不会进行拷贝。2. 视图或浅拷贝不同的数组对象可以共享相同的数据。view方法会创建一个共享原数组数据的新的数组对象。如果数组A是数组B的视图(view),则称B为A的base(除非B也是视图)。视图数组中的数据实际上保存在base数组中。原创 2020-08-16 10:48:23 · 324 阅读 · 0 评论 -
ValueError:could not broadcast input array from shape (148,148,32) into shape (1)错误原因
ValueError: could not broadcast input array from shape (148,148,32) into shape (1)原本是一个简单的list转换为array函数,结果却出现这样的错误:could not broadcast input array from shape (128,128,3) into shape (1)后来尝试了网上很多种方法,都没有办法解决问题。可能的原因:1、本身的数据集出现问题,没有统一尺寸。2、(我代码出错的地方)ten原创 2020-07-13 16:49:24 · 5898 阅读 · 0 评论 -
argparse的点点滴滴
argparse是一个Python模块:命令行选项、参数和子命令解析器。argparse模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后argparse将弄清如何从sys.argv解析出那些参数。argparse模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。argparse功能如下:1. 处理可选参数和位置参数2. 生成 usage messages3. 支持派生出sub-parsers创建解析器class arg...原创 2020-06-04 22:50:27 · 183 阅读 · 0 评论 -
Python 使用习惯
Python 使用习惯是指那些经常被使用的语法、语义和结构,这样写更加符合 Python 风格,看起来更像一个地道的 Pythoner.本系列目的,分类整理 Python 使用习惯1. if not x直接使用 x 和 not x 判断 x 是否为 None 或空x = [1,3,5]if x: print('x is not empty ')if not x: print('x is empty')# 下面写法不够 Pythonerif x and len原创 2020-06-03 23:12:44 · 242 阅读 · 0 评论 -
关于__str__和__repr__的一些理解
有时候我们想让屏幕打印的结果不是对象的内存地址,而是它的值或者其他可以自定义的东西,以便更直观地显示对象内容,可以通过在该对象的类中创建或修改__str__()或__repr__()方法来实现(显示对应方法的返回值)注意:__str__()方法和__repr__()方法的返回值只能是字符串!关于调用两种方法的时机使用print()时 使用%s和f'{}'拼接对象时 使用str(x)转换对象x时在上述三种场景中,会优先调用对象的__str__()方法;若没有,就调用__repr__()方法;若原创 2020-06-03 22:09:47 · 181 阅读 · 0 评论 -
十大经典排序算法大梳理 (动图+代码)
一、冒泡排序算法思想:1.比较相邻的元素。如果第一个比第二个打,就交换他们两个。2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这步做完之后,最后的元素会是最大的数3.针对所有的元素重复以上的步骤,除了最后一个4.持续每次对越来越少的元素重复上面的步骤。直到没有任何一对数字需要比较。...原创 2020-05-24 22:48:45 · 484 阅读 · 0 评论 -
图解Python 直接赋值、浅拷贝和深度拷贝
直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy):copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象 字典浅拷贝实例import copya = {"a": [1, 2, 3]}b = a.copy()print(a, b) # {1: [1, 2, 3]} {1: [1, 2, 3]}a["a"].append(4)print(a, b) # {'a': [1...转载 2020-05-21 14:38:13 · 159 阅读 · 0 评论 -
numpy广播机制图解
前言 numpy的广播机制旨在提供一种当被处理数组维度大小不一样时仍然能计算的机制。首先要明白,在数组(或者说是向量,数组的本质就是多维向量的组合)计算时,除了一些特殊的计算(点乘等),其他操作都是元素一一对应的操作,它要求被处理的数组的维度以及每个维度大小相等。但是,许多计算中,想要一个维度对其他所有维度操作,此时被操作的数组的大小不一样,但numpy采用广播机制来处理这个问题。广播的引出 numpy两个数组的相加、相减以及相乘都是对应元素之间的操作。import numpy as np原创 2020-05-13 15:56:11 · 1156 阅读 · 0 评论 -
pip安装的一些问题!!!
Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/wordcloud/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Max retri...原创 2020-04-20 22:09:32 · 642 阅读 · 0 评论 -
PyCharm——最强Python编辑器
目录前言一、PyCharm 安装二、在 PyCharm 中写代码三、在 PyCharm 中运行代码四、在 PyCharm 中进行代码 debug五、在 PyCharm 中进行代码测试六、在 PyCharm 中编辑已有项目七、在 PyCharm 中搜索和导航八、PyCharm 中的版本控制九、在 PyCharm 中使用插件和外部工具十、PyCharm...原创 2020-04-13 15:07:18 · 654 阅读 · 0 评论 -
Python常用内置函数分8类总结
内置函数Python3解释器中内置了69个常用函数,属于底层的函数,它们到处可用。有些对大家来说比较熟悉,比如abs(), max(), sum()... 也有一些比较陌生,比如locals(), all(), compile(), getattr()... 今天按照类别扼要总结。1 类型相关69个内置函数中,与类型相关的指,把入参包装为某种类型,这样的内置函数包括:bool()...原创 2020-04-01 23:00:13 · 275 阅读 · 0 评论 -
20个Python代码,短小精悍,用处无穷
当今Python编程语言的潮流已经成为不可阻挡的趋势,Python以其较高的可读性和简洁性备受程序员的喜爱。而Python编程中的一些小的技巧,运用的恰当,会让你的程序事半功倍。以下的20个小的程序段,看似非常的简单,但是却非常的有技巧性,并且对个人的编程能力是一个很好的检验,大家应该在日常的编程中多多使用,多多练习。1、字符串的翻转#方法一:字符串切片str1 = "h...原创 2020-03-16 21:47:06 · 308 阅读 · 0 评论 -
python中的type和object辨析
关于这篇博客这篇博客主要描述Python的新风格对象(new-style objects),如下:<type 'type'>和<type 'object'>分别是什么? 用户自定义的类和实例之间是怎么联系的?它们和内置类型又是怎么联系的? 什么是元类(metaclasses)?New-style表明这篇博客所说的内容只适用于版本为2.2及以上的python...转载 2020-03-16 19:44:17 · 160 阅读 · 0 评论 -
Python中的深拷贝和浅拷贝(用代码去理解)
直接赋值:其实就是对象的引用(别名)。浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。深拷贝(deepcopy):copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。#!/usr/bin/python# -*-coding:utf-8 -*- import copya = [1, 2, 3, 4, ['a', 'b']] #原始对象 b =...原创 2020-01-06 21:57:39 · 175 阅读 · 0 评论 -
搞懂深度网络初始化(Xavier and Kaiming initialization)
参数初始化就是这么一个容易被忽视的重要因素,因为不仅使用者对其重要性缺乏概念,而且这些操作都被TF、pytorch这些框架封装了,你可能不知道的是,糟糕的参数初始化是会阻碍复杂非线性系统的训练的。本文以MNIST手写体数字识别模型为例来演示参数初始化对模型训练的影响。点击这里查看源码。Xavier Initialization 早期的参数初始化方法普遍是将...原创 2020-01-06 16:50:24 · 3904 阅读 · 1 评论 -
tf.name_scope()和tf.variable_scope()辨析
tf.name_scope()在 Tensorflow 当中有两种途径生成变量 variable, 一种是tf.get_variable(), 另一种是tf.Variable(). 如果在tf.name_scope()的框架下使用这两种方式, 结果会如下:import tensorflow as tfwith tf.name_scope("a_name_scope"): ...原创 2019-12-03 16:48:05 · 104 阅读 · 0 评论 -
模块 包 库(module、lib、package)
module:一个 .py 文件就是个 modulelib:抽象概念,和另外两个不是一类,只要你喜欢,什么都是 lib,就算只有个 hello worldpackage:就是个带 __init__.py 的文件夹,并不在乎里面有什么,不过一般来讲会包含一些 packages/modulesscrapy、flask、Django、numpy、scipy、NLTK、jieba一般都被认为是 li...原创 2019-10-11 21:04:13 · 644 阅读 · 0 评论 -
pycharm最常用的快捷键总结
工欲善其事必先利其器,Python开发利器Pycharm常用快捷键以及配置如下,相信有了这些快捷键,你的开发会事半功倍一、常用快捷键编辑类:Ctrl + D 复制选定的区域或行Ctrl + Y 删除选定的行Ctrl + Alt + L 代码格式化Ctrl + Alt + O 优化导入(去掉用不到的包导入)Ctrl + 鼠...原创 2019-09-26 15:48:53 · 164 阅读 · 0 评论