信号处理
文章平均质量分 62
ACE-Mayer
这个作者很懒,什么都没留下…
展开
-
MSB/LSB(big endian/little endian)
目录1、什么事MSB/LSB(big endian/little endian)2、python解析时二进制文件时注意大小端问题3、举例:1、什么事MSB/LSB(big endian/little endian)LSB(Least Significant Bit),意为最低有效位。MSB(Most Significant Bit),意为最高有效位。若MSB=1,则表示数据为负值,若MSB=0,则表示数据为正。两大CPU派系指定的是Motorola的PowerPC系列CPU和Intel的x86系列C原创 2021-05-17 16:45:03 · 1050 阅读 · 0 评论 -
BatchNormalization总结
目录1、Internal Covariate Shift现象1、Internal Covariate Shift现象网络在训练过程中,中间层的权重在不断发生变化,导致该层输出数据的分布发生改变,这种数据分布的改变称为’Internal Covariate Shift’。...原创 2021-05-13 17:08:05 · 2106 阅读 · 0 评论 -
python解析二进制文件以及不同进制数值间的转换
目录1、python解析二进制文件2、不同进制数值间的转换参考文献:1、python解析二进制文件不同类型数据的字节数不同,因此首先要明确不同物理量数据所在的字节位置及其数据类型,python和C语言中不同数据类型对应关系如下,表中standard size一列给出了该类型数据占据的字节个数。用python解析二进制文件的代码示例如下,这里需要注意的是:(1)明确你想解析出来的数据所在的字节范围;(2)明确该数据的数据类型,以避免解析结果错误或字节数不匹配。binFile=open('./原创 2021-05-12 16:12:05 · 7057 阅读 · 4 评论 -
scipy.signal.peak_prominences解析
函数格式:scipy.signal.peak_prominences(x, peaks, wlen=None)[source]一个波峰的prominences指的是:The prominence of a peak measures how much a peak stands out from the surrounding baseline of the signal and is defined as the vertical distance between the peak and its原创 2021-02-09 23:22:30 · 1508 阅读 · 4 评论 -
Jupyter NotebooK去掉警告
import warningswarnings.filterwarnings("ignore")原创 2021-01-21 16:56:56 · 791 阅读 · 0 评论 -
dataframe中类别列转数值列
首先,查看该列都有哪几类:encoded_list=['状态','到达状态','生产制度','运行制度','截断阀状态']status_list=[]for i in encoded_list: status_list.append(Counter(df_i[i]))status_list然后,提供两种方法将类别列转为数字1、方法一:map()方法status_OC_mapping = { '关': 0, '开': 1原创 2021-01-20 15:50:46 · 546 阅读 · 0 评论 -
pandas学习笔记------set_index()
pandas中set_index方法是专门用来将某一列设置为index的方法。它具有简单,方便,快捷的特点。主要参数:keys:需要设置为index的列名drop:True or False。在将原来的列设置为index,是否需要删除原来的列。默认为True,即删除(Delete columns to be used as the new index.)append:True or False。新的index设置之后,是否要删除原来的index。默认为True。(Whether to append原创 2021-01-20 14:18:08 · 4662 阅读 · 4 评论 -
数据分析中判断数据类型常用方法汇总(pandas)
目 录1、空值判断2、其他数据类型判断2.1 判断Serise或DataFrame中某一列的数据类型2.2 利用np.issubdtype()判断Serise或DataFrame中某元素的类型参考文献:1、空值判断判断数据是否为空值的常用函数有:pd.isna(),pd.isnull(),np.isnat()和np.isnan(),四种方法用于判断的数据类型如下表所示:注意:1、判断某个值是否空值,将该值传给相应函数即可,如pd.isna(input_data)、np.isnan(np.原创 2021-01-13 22:58:02 · 6437 阅读 · 0 评论 -
pandas学习笔记----日期时间类型数据运算
有些项目需要计算日期或时间差,利用pandas可以方便的实现。例如有一字符串类型的日期时间列表interval,要计算列表中所有如期时间与指定日期时间的时间差:import pandas as pdinterval=pd.to_datetime(interval_time)print(type(interval))se_interval=pd.to_datetime('1970-01-01 08:00:00')print(type(se_interval))time_inter=(inter原创 2021-01-12 16:42:01 · 1127 阅读 · 0 评论 -
matplotlib.pyplot可视化库中contour与contourf的区别
contour做的云图不是填充的,而contourf画的云图是填充的来两个例子一目了然,代码可用。(本文例子来自matplotlib管网)contour函数contour([X, Y,] Z, [levels], **kwargs)X, Y, The coordinates of the values in Z.X and Y must both be 2-D with the same shape as Z (e.g. created via numpy.meshgrid), or they原创 2020-10-04 15:22:49 · 2503 阅读 · 2 评论 -
Hilbert变换及相关特征值
目录1、希尔伯特变换三级目录1、希尔伯特变换希尔伯特变换如下式所示:可以看出,f(t)的Hilbert变换即f(t)与1/πt的卷积,这个卷积的冲击响应为1/πt。利用卷积的特殊性质,即两个函数卷积后的傅里叶变换等于两个函数傅里叶变换后的乘积,设f(t)为原信号,F(f(t))表示对信号进行傅里叶变换,H[f(t)]为对信号进行希尔伯特变换,那么:这个公式中F(f(t))以前的部分为1/πt的傅里叶变换,对其进行处理并简化得:上式中的对sin(t)/t的积分用到了以下方法:令α=0即可原创 2020-09-15 11:32:41 · 5078 阅读 · 3 评论 -
pandas学习笔记—dataframe与list相互转化
dataframe与list相互转化dataframe转listlist转dataframe方法1:先用list构造字典,再转dataframe方法2:对于符合列表,可以直接转成dataframedataframe转listX=data_all_copy.iloc[:,0:61]#将0到61列数据赋值给XX=X.values#.values方法将dataframe转为numpy.ndarrayX.tolist()#将X转为listlist转dataframe方法1:先用list构造字典,再转d原创 2020-05-26 14:00:06 · 39117 阅读 · 0 评论 -
python写入csv文件的两种方法
提供两种方法的代码:第一种:# 1. 创建文件对象csvfile = open("./data_saved/test.csv",'a',newline='')# 2. 基于文件对象构建 csv写入对象writer = csv.writer(csvfile)# 3. 写入csv文件内容writer.writerow(var_all_dic_key)writer.writerow(var_all_dic_value)# 4. 关闭文件csvfile.close()第二种with原创 2020-05-23 17:01:36 · 12815 阅读 · 0 评论 -
python倒序for循环
直接上代码:for i in range(10,-1,-1): #从10到0进行遍历循环 print(i)输出:109876543210原创 2020-05-19 23:42:43 · 50545 阅读 · 3 评论 -
pandas学习笔记—json与dataframe的互相转换
json与dataframe的互相转换1、两类json格式(1)对象格式(2)数组对象格式2、json转dataframe2.1 对象格式json2.2 数组对象格式json3、dataframe转json3.1 df.to_json()方法3.2 to_dict()方法1、两类json格式(1)对象格式{"name":"JSON","address":"北京市西城区","age":25}#JSON的对象格式的字符串(2)数组对象格式[{"name":"JSON","address":"北京市西原创 2020-05-19 15:10:13 · 2482 阅读 · 0 评论 -
pandas学习笔记—指定位置插入行或列
处理dataframe数据时,经常碰到在指定位置插入行或列。(1)插入行插入行采用将dataframe先分开,然后再合并的方法引用一下这边文章的例子:dataframe指定位置插入行df = pd.DataFrame({ '动物' : ['狗','猫','兔'], '数量' : [ 3, 4, 6] })df1 = df.loc[:0]df2 = df.loc[1:]print(原创 2020-05-17 20:48:16 · 8562 阅读 · 1 评论 -
pandas学习笔记—利用自定义函数改变dataframe中数据类型或格式
本文中改变数据类型指的改变数据为str、float或int等,改变数据格式主要指改变数值型数据小数点后位数。apply()方法def round_amount(value) data= round(float(value),2) return datadf["value"]=df["value"].apply(round_amount)map()方法df["value"]=df["value"].map(lambda x: round(float(x),2))...原创 2020-05-17 19:42:54 · 1261 阅读 · 0 评论 -
pandas学习笔记—dataframe中的数据类型和相互转换
常见的dataframe中的数据类型包括以下:Data type Descriptiondatetime64[ns] 这应该是numpy中的一种时间数据类型str 字符类型object 一种通用的数据类型,在没有明确指定类型下,所有数据都可认为是object类型bool_ Boolean (True or False) stored as a byteint_ Default integer type (same as C long; normally either in原创 2020-05-17 18:34:40 · 6702 阅读 · 2 评论 -
str、json、bytes和dict的转换(python)
网络传输过来的数据往往是bytes类型,导致有些数据接收到后没法直接使用。这时候,可以将bytes类型数据转为str,然后再将str转为json或dict类型。bytes转stringbytes为bytes类型的变量名(下同),str为string类型的变量名(下同),json为json类型的变量名(下同)str = str(bytes,‘utf-8’)str转jsonjson = json.loads(str)str转dictdict=eval(str)或使用exec()方法:ex原创 2020-05-12 17:33:54 · 1855 阅读 · 0 评论 -
pandas学习笔记----创建一定范围和长度的时间列(pd.date_range函数)
从当前时间开始直接看代码吧:import pandas as pdimport datetimeimport time# 产生时间序列(以下都是从当前时间开始计算)a=time.time()print(pd.date_range(start=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),periods=7200,freq='S'))print(pd.date_range(start=time.strftime('%Y-%m-%d原创 2020-05-11 17:45:15 · 1246 阅读 · 0 评论 -
python取出字典的Values和keys作为新的列表
keys = list(dic.keys())values = list(dic.values())原创 2020-05-01 09:24:09 · 2256 阅读 · 0 评论 -
日期时间转时间戳以及时间戳转日期时间
直接给出两个函数,第一个函数是将日期时间类型的列表转为时间戳类型的列表,第二个则是将时间戳类型的列表转为日期时间类型的列表。日期时间转时间戳def datetime_to_timestamp(series,series_name): name=[] value=[] for i in range (len(series)): if not np.isna...原创 2020-04-18 18:09:33 · 1000 阅读 · 0 评论 -
k-means可视化
from sklearn.cluster import KMeansimport numpy as npimport matplotlib.pyplot as pltimport pandas as pdfrom sklearn.preprocessing import MinMaxScalerX=np.array(value)X_max=np.max(X)X_min=np.min(...原创 2020-04-18 17:57:50 · 480 阅读 · 0 评论 -
matplotlib作图以及线型、颜色、标记等参数可选取值
一般的matplotlib作图命令如下:plt.subplots(1, 1)x= range(100)y= [i**2 for i in x]plt.plot(x, y, linewidth = '1', label = "test", color=' coral ', linestyle=':', marker='|')plt.legend(loc='upper left')plt...原创 2020-04-18 16:50:18 · 1349 阅读 · 1 评论 -
python 求列表中最大值最小值算法
list_example=[4,56,20,4,100,-40]count=len(list_example)min_num=float(list_example[0])max_num=float(list_example[0])for i in range (count): num=float(list_example[i]) if count==1: m...原创 2020-04-17 11:12:16 · 10345 阅读 · 0 评论 -
python往列表头部和尾部添加元素
往头部添加元素list.insert(index,new_element)@@@index为新元素的插入位置,当index=0时,往头部添加新元素。@@@new_element为要插入的元素。例子:names.insert(0,'Bill')往尾部添加元素list.append(new_element)例子:names.append('Bill')...原创 2020-04-17 10:54:13 · 45576 阅读 · 0 评论 -
python 判断列表中的元素是否是np.nan
import numpy as npnp.isnan(number)原创 2020-04-17 10:43:39 · 8964 阅读 · 0 评论 -
python获得list或numpy数组中最大元素及其对应的索引
list对于列表来说,可直接使用max()\min()或者list.index()来求得列表中最大和最小元素以及该元素的索引值:a = [1,2,3,4,5]print(max(a))print(min(a))print(a.index(max(a)))print(a.index(min(a)))输出:5140numpy.ndarray对于numpy的数组,可直接使用...原创 2020-04-17 09:00:22 · 2797 阅读 · 0 评论 -
pandas学习笔记—解决 keyerror:num问题
出现这个错误的原因是你引用了并不存在的dataframe的index,举个例子:如果你在数据清洗时将某些行删除了,而在后面又对这个dataframe所有行进行了便利操作,那就很可能出现这个错误。因此,一定记住删除某些行后对dataframe进行reindex:new_data.reset_index(inplace=True,drop=True)...原创 2020-04-14 18:52:30 · 3441 阅读 · 1 评论 -
pandas学习笔记—pandas时序数据处理需要注意的一点(TypeError: float() argument must be a string or a number, not ‘Times)
大家在处理时序数据时可能会遇到以下错误:TypeError: float() argument must be a string or a number, not 'Timestamp'用以下两种代码处理dataframe时,第一种处理方法会导致时间列的数据类型转变为object第一种:new_data=origin_data.copy()new_data.iloc[0,0]="dat...原创 2020-04-14 16:11:53 · 12485 阅读 · 4 评论 -
pandas学习笔记--增加行或列
一、增加行(1)loc()想增加一行,行名称为‘5’,内容为[16, 17, 18, 19]df.loc['5'] = [16, 17, 18, 19] # 后面的序列是Iterable就行(2)atdf.at['5'] = [16, 17, 18, 19](3)set_valuedf.set_value('5', df.columns, [16, 17, 18, 19],...原创 2020-04-13 13:37:37 · 2417 阅读 · 2 评论 -
python:图片数据矩阵的不同维度进行翻转
实现方法利用numpy数组操作方法:原图:上下颠倒:image = image[::-1,:,:]效果展示:左右颠倒:image = image[:,::-1,:]效果展示:RGB颠倒:image = image[:,:,::-1]效果展示:有点童话世界的感觉!...原创 2020-04-07 16:03:25 · 1501 阅读 · 0 评论 -
PIL中的Image读入图片后转化为数组array
PIL的Image.open()读入图片后并不是numpy数组array格式,这对于后面图像处理以及神经网络读入图片数据会带来麻烦,例如用卷积神经网络读入输入图片给placeholder时,往往要将代表图片的矩阵形状进行转换,此时PIL的Image.open()读入的格式是不能用reshape方法的。处理方式其实很简单,用np.array()函数直接进行转换就可以。示例:img = Imag...原创 2019-09-02 23:00:17 · 16962 阅读 · 0 评论 -
问题解决: Pandas: KeyError: […] not in index
用numpy和pandas等包进行数据清洗后,接下来就要把dataframe中相应的列分别作为特征或标签喂入给神经网络或者SVM等模型进行模型训练,这个过程中很有可能会遇到如题所示的错误,例如:X=data[features]Y=data['6A']报错如下:进行如下修改:X=data.iloc[:,1:21]X=X.valuesy=data['8A']y=y.values...原创 2019-12-31 22:53:00 · 31822 阅读 · 3 评论 -
matlab切割数据并保存在excel
data = [angle’, CFX’, CFY’, CMZ’]; % 将数据组集到data[m, n] = size(data);data_cell = mat2cell(data, ones(m,1), ones(n,1)); % 将data切割成m*n的cell矩阵title = {‘angle’, ‘CFX’, ‘CFY’,...原创 2019-12-27 16:58:28 · 1322 阅读 · 0 评论 -
matlab 给矩阵加一行或加一列
加一行A=[1 2 3;4 5 6;7 8 9];row=[0 0 0];A_row=[A;row];display(A_row);加一列A=[1 2 3;4 5 6;7 8 9];column=[0;0;0]; %一共三行,用“;”分开A_column=[A column];display(A_column);...原创 2019-12-27 16:13:46 · 73396 阅读 · 1 评论 -
matlab 数组末尾或中间增加一项
举例,例如数组a=[1 2 3]末尾增加第一种方法:输入a=[a 4]输出为:末尾增加第二种方法:输入a(end+1)=5输出为:中间增加:输入a=[a(1:2) 5 a(3:3)]原创 2019-12-27 15:26:31 · 14424 阅读 · 0 评论