- 博客(50)
- 收藏
- 关注

转载 NaN和None
原文出处: Exolution python原生的None和pandas, numpy中的numpy.NaN尽管在功能上都是用来标示空缺数据。但它们的行为在很多场景下确有一些相当大的差异。由于不熟悉这些差异,曾经给我的工作带来过不少麻烦。 特此整理了一份详细的实验,比较None和NaN在不同场景下的差异。实验的结果有些在意料之内,有些则让我...
2018-08-17 09:01:22
952
转载 根据大于3对的的点集计算它们之间的刚性转置信息:旋转矩阵+平移向量
一 问题描述假设P={p1,p2,...,pn}和Q={q1,q2,...,qn}是两组Rd空间中的对应点集,现在想要根据这个两个点集的数据来计算出它们之间的刚性转置信息,可以知道这其实是一个最小二乘求优问题,问题可以用如下计算式描述:其中wi>0,是点集中每个点对的权重。要求(1)式中的最小值,即为求式中对R和t求导数为0的解。二 计算位移将(1)式中的R设为不变量对t进行求导,同时令F(t)=(R,t),对F(t)求导可得:从上可以看出,问题经过转化...
2021-06-16 20:46:15
589
原创 信息熵
这恰好符合我们的认识。信息熵:信息量的期望。比如上例,设X为赛马编号,则X的信息熵为:H(X)=∑i=1npi×log2(1pi)H(X)=\sum _{i=1} ^ n p_i \times log_2 ({1 \over p_i})H(X)=i=1∑npi×log2(pi1)总之:信息量:从未知到已知所需信息的含量信息熵:信息量的期望最短的平均编码长度 = 信源的不确定...
2019-09-25 15:08:17
462
转载 OPC
在 OPC 之前,当你的 HMI 或 SCADA 软件用内置驱动程序读取数据之前,它要么得到数据要么没有数据。 如果你没有得到数据,你就无法知道最后一次获得数据是什么时候。 两者之间没有差别。使用OPC服务器,它们可以缓存或保留从设备读取的最后一个值。它们还会在缓存中为数据加时间戳(TImestamps),通常使用OPC服务器从设备读取值的时间。某些设备存储上次更改数据的时间戳,并可使用设备特定...
2018-09-29 17:09:04
525
原创 汽车结构,人工智能
人工智能在谷歌无人驾驶车的应用 日前,据Te chCr u nch报道,谷歌L 4级自动驾驶车(超 高度自动驾驶车)在钱德勒市的公共道路上测试,车内没有 驾驶员,而乘客坐在后座通过操控车内的内置按钮解锁、开 车、停车、锁车,并很快将实现商业自动驾驶,即无人驾驶打 车服务、通过无人驾驶车去旅游、购物等。 无人驾驶车的试验成功可以说是汽车行业领域的一大 里程碑,也是智能技术发展的一大里程碑,因为一辆智...
2018-08-23 20:08:11
914
原创 默认参数问题
如果在调用一个函数时,没有传递默认参数,则函数内的默认参数是对函数的默认参数属性__defaults__的引用,–-自己的理解,让我联想到赋值,浅拷贝,这里是浅拷贝,改变args的值,不会影响__defaults__[0]的值,但是改变args子对象的值,会同时让__defaults__[0]的子对象发生变化,即_defaults__[0]也发生了变化————————————...
2018-08-17 17:26:37
405
原创 作用域
变量作用域(scope)在Python中是一个容易掉坑的地方。Python的作用域一共有4中,分别是:L (Local) 局部作用域E (Enclosing) 闭包函数外的函数中G (Global) 全局作用域B (Built-in) 内建作用域以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外...
2018-08-17 16:34:43
600
转载 排序和分组
Python序列操作之进阶篇 转载 更新时间:2016年12月08日 09:31:59 投稿:daisy &
2018-08-17 09:03:12
1733
原创 特别重要:dataframe赋值,用Series给新列赋值,或更改新列时,如果dataframe和series的index不一样,是不能赋值成功的
所以要将index赋值为新列的时候,直接用data['date']=data.index
2018-08-16 19:43:13
11917
3
原创 列表和元组
list,tuple的差别,一个可变,一个不可变,其余几乎一样,通常列表和元组是能够互换的(参见博客DataFrame2),除了需要改变元素的地方。这里又不能替换了。...
2018-08-16 11:11:36
155
原创 dataframe2
===><一定要看官方文档,看了官方文档才明白是怎么回事DataFrameGroupBy.agg(arg改为func好对应图片, *args, **kwargs)[source]Aggregate using one or more operations over the specified axis.Parameters: func : function, ...
2018-08-15 15:23:56
256
原创 dataframe
note:内置函数名需要引号,自定义的不需要==>不是,内置函数不带引号也可以。[(x,y),z,d]:ok[{x:y},z,d]:errorgroupby和agg使用有一个注意点: 1:df[df.name.str.contains('kw')].groupby('phone')['name'].agg([('uv',pd.Series.nunique)]...
2018-08-15 11:04:56
844
原创 pandas
易错:DataFrame: 取出某列 df['列名'],df.列名 取出0-3行 df[0:4] 易错:与matlab不同,matlab数组从下标1开始,右闭区间,这里与python的字符串相同,下标是从0开始计算的,右开区间 取出某行eg:0行 df.ix[0] error:df[0] 取出不连续的几行...
2018-08-11 18:47:28
248
原创 sql连接
术语:易混淆,完整外部连接=全外连接!=全连接(笛卡尔积连接)--》区分在一个全字笛卡尔连接又叫做交叉连接cross join 又叫做全连接 --建表table1,table2:create table table1(id int,name varchar(10))create table table2(id int,score int)insert into table1 se...
2018-08-11 15:41:49
284
原创 todo :groupByKey reduceBykey,combineByKey, 将mapSideCombine: Boolean = true,设置为false再测试
Spark核心RDD:combineByKey函数详解为什么单独讲解combineByKey?因为combineByKey是Spark中一个比较核心的高级函数,其他一些高阶键值对函数底层都是用它实现的。诸如 groupByKey,reduceByKey等等如下给出combineByKey的定义,其他的细节暂时忽略(1.6.0版的函数名更新为combineByKeyWithClassTa...
2018-08-11 09:34:54
595
原创 常用快捷键
快捷键 功能 pycharm eclipse idea 补全 ctr+shift+enter 定位到错误位置 ctr+. 查找资源(可查找非类的文件) ctr+shift+r 查找类(与查找资源区别) ctr+shift+t 查找调用 ...
2018-08-10 13:38:38
122
原创 bytes() and bytearray()
bytes()返回不可变字节数组类bytearray()返回可变字节数组类bytearray("何仝","unicode") ^SyntaxError: invalid character in identifierbytearray("何仝","utf-8") File "<input>", line 1 bytearr
2018-08-10 10:58:46
620
原创 常用中英文缩略对照--python && linux
exec:execute 执行eval: execute val(values) :执行字符串表达式,并返回值var:variables:变量val :values:值enumerate() :enumerate:枚举,列举,计算,函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。sub:subst...
2018-08-10 10:34:00
201
原创 异常
转载自:http://blog.youkuaiyun.com/daijin888888/article/details/48369809前言:有java编程基础的人对java的异常处理机制都会有一定了解,而且可能感觉使用起来也比较简单,但如果在try catch finally语句块中遇到return语句,开发者可能就会遇到一些逻辑问题,甚至步入编程的陷阱。不信,我们先看看一段小程序,读者可以分析其逻辑然...
2018-08-09 20:47:52
220
原创 最新的 Python3.7 中(2018.07.13),对类的构造函数进行了精简。
最新的 Python3.7 中(2018.07.13),对类的构造函数进行了精简。3.7 版本:from dataclasses import dataclass@dataclassclass A: x:int y:int def add(self): return self.x + self.y相当于以前的:class A: def __init_...
2018-08-09 20:37:18
1112
原创 读/写
如果直接对文件对象调用 read() 方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。通过 yield,我们不再需要编写读文件的迭代类,就可以轻松实现文件读取: def read_file(fpath): BLOCK_SIZE = 1024 with open(fpath, 'rb') as f: while True:...
2018-08-09 14:47:56
189
原创 模块
一种可能的包结构(在分层的文件系统中):sound/ 顶层包 __init__.py 初始化 sound 包 formats/ 文件格式转换子包 __init__.py wavread.py ...
2018-08-09 13:39:35
137
原创 使用内置 enumerate 函数进行遍历:,for,while循环与else的搭配使用
使用内置 enumerate 函数进行遍历:for index, item in enumerate(sequence): process(index, item)实例>>> sequence = [12, 34, 34, 23, 45, 76, 89]>>> for i, j in enumerate(sequence):... ...
2018-08-09 11:35:16
1000
原创 迭代器和生成器使用注意点
func 里面的yield,要调用对应方法的next即,next(func),自己看代码时也要观察谁对应谁def fibonacci(n, w=0): # 生成器函数 - 斐波那契 a, b, counter = 0, 1, 0 while True: if (counter > n): return yield a...
2018-08-09 11:04:57
176
原创 字典,遍历时,用单一元素取接收dict,取得的实际只是key值,而不是整个k-v对,用单一元素去接收dict.items()时,取得的才是k-v对
for tup in dict1: print(tup) abccdedcfor tup in dict1.items(): print(tup) ('abc', 1)('cde', 2)('d', 'key1')('c', 567)dict1 = {'abc':1,"cde":2,"d":4,"c":567,"d":"key1"}for k...
2018-08-09 10:00:05
641
原创 tuple元组,单个元组注意点,定义单元组时,唯一一个元素后面要加‘,’,因为()可以表示运算符,不加','会发生歧义
tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:代码如下:>>> classmates = ('Michael', 'Bob', 'Tracy')现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates...
2018-08-09 09:13:47
1413
原创 transpose 使用问题 包的安装使用问题
安装transpose 出现问题No module named pip.reqC:\Users\yihe\PycharmProjects\zixue\venv\Scripts>pip install transposeCollecting transpose Using cached https://files.pythonhosted.org/packages/61/54/93f...
2018-08-09 08:39:11
455
原创 闭包
最近在刷leetcode题的时候,遇到一个求最长回文子串的题目,于是,我写了如下的代码:class Solution(object): def longestPalindrome(self, s): """ :type s: str :rtype: str """ if len(s) < 2: ...
2018-08-08 16:56:13
157
原创 3比2的改变不熟悉的点
异常在 Python 3 中处理异常也轻微的改变了,在 Python 3 中我们现在使用 as 作为关键词。捕获异常的语法由 except exc, var 改为 except exc as var。使用语法except (exc1, exc2) as var可以同时捕获多种类别的异常。 Python 2.6已经支持这两种语法。1. 在2.x时代,所有类型的对象都是可以被直接抛出的...
2018-08-08 15:14:01
133
原创 增强切片的可读性
为切片命名Python 的列表切片使用起来非常方便,但有时也会影响代码可读性。例如有一个字符串:record = '..........19.6..........100..........'19.6 为产品价格,100 为产品数量,那么计算总价格为:但是如果这样写,可能过一段时间我们再来读代码时已经忘记了 record[10:14] 、record[24:27] 切出来的究竟是...
2018-08-08 15:02:05
113
原创 \r\n,编码大小按字母顺序排
\r\n:\n:lf(LF (NL line feed, new line))换行符---10\r:cr(CR (carriage return))回车-----13
2018-08-08 14:44:13
765
原创 Counter的升级使用
#必须引用如下库from collections import Counter#定义两个字符串变量Var1 = "1116122137143151617181920849510"Var2 = "1987262819009787718192084951"print(Counter(Var1))print(Counter(Var2))...
2018-08-08 13:33:30
122
原创 set注意事项
创建空的集合:s=set(),不能用s={},s={}是用来创建空的字典的 创建一个元素的集合,列表 s.update( "字符串" ) 与 s.update( {"字符串"} ) 含义不同: s.update( {"字符串"} )将字符串添加到集合中,有重复的会忽略。 s.update( "字符串" )将字符串拆分单个字符后,然后再一个个添加到集合中,有重复的...
2018-08-08 11:36:31
512
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人