python概率密度函数参数估计_使用Python估计数据概率分布函数

现有的数据是有探测器测得的脉冲信号,需要对其发生时间进行一个估计。

主要思想是,通过hist方法将不同时间间隔出现的次数进行一个计数。

经过统计可以得到

[1.4000000e+013.2000000e+01,7.8000000e+01,1.1600000e+02,1.8800000e+02,2.2200000e+02,2.6300000e+02,3.1200000e+02,3.2200000e+02,4.2100000e+02,4.8800000e+02,5.0400000e+02,5.1900000e+02,5.7200000e+02,7.2600000e+02,9.4500000e+02,1.0100000e+03,1.0650000e+03,1.1900000e+03]

这些位置出现了脉冲峰,需要验证它们之间出现的间隔分布。

第一步,读取脉冲位置并计算脉冲间时间间隔

def read_diff():

d = pd.read_table('data/peaks.csv', names=['pks', 'locs', 'None'], delim_whitespace=True)

time = d['locs']

dif = []

for i, ele in enumerate(time[1:]):

dif.append(ele - time[i])

return dif

使用pandas的read_table方法,由于是在win平台下,各种格式问题,导致读入后会出现三列(应该为峰值一列,位置一列),最后一列应该为win下的’\t’,想着不碍事,就没仔细研究。

第二步,对间隔频率进行统计

对时间间隔进行统计可以直接使用Pandas.Series的的hist方法,也可以使用pylab中的hist方法。

其实Pandas中的画图方法也是调用的matplotlib,都可以在画出直方图的同时进行密度估计,但是这两个方法有一个最大的区别就是,pylab中的hist可以指定一个range参数.

```matplotlib.pyplot.hist(x, bins=10, range=None, normed=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, hold=None, data=None, **kwargs)

range : tuple or None, optional

The lowe

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值