概率分布函数Python

Sit*_*ogz -4 python visualization numpy matplotlib pandas

我有一组原始数据,我必须确定该数据的分布.绘制概率分布函数的最简单方法是什么?我试过在正态分布中拟合它.

但是我更好奇地知道数据本身带有哪些分布?

我没有代码来显示我的进度,因为我没有在python中找到任何允许我测试数据集分布的函数.我不想切片数据并强制它适合可能正常或偏斜分布.

有没有办法确定数据集的分布?任何建议表示赞赏.

这是正确的方法吗?示例
这是我正在寻找的东西,但它再次使数据符合正态分布.

编辑:

输入有数百万行,下面给出了简短的样本

Hashtag,Frequency
#Car,45
#photo,4
#movie,6
#life,1
Run Code Online (Sandbox Code Playgroud)

从频率范围120,000算,我试图找出关键字的频率分布.我尝试绘制一个简单的直方图,但我将输出作为单个条形图.

码:

import pandas
import matplotlib.pyplot as plt


df = pandas.read_csv('Paris_random_hash.csv', sep=',')
plt.hist(df['Frequency'])
plt.show()
Run Code Online (Sandbox Code Playgroud)

产量 输出频率计数

Chi*_*iel 6

这是显示直方图的最小工作示例.它只能解决您的部分问题,但它可以朝着您的目标迈出一步.请注意,该histogram函数为您提供了bin的两个角上的值,您必须进行插值以获得中心值.

import numpy as np
import matplotlib.pyplot as pl

x = np.random.randn(10000)

nbins = 20

n, bins = np.histogram(x, nbins, density=1)
pdfx = np.zeros(n.size)
pdfy = np.zeros(n.size)
for k in range(n.size):
    pdfx[k] = 0.5*(bins[k]+bins[k+1])
    pdfy[k] = n[k]

pl.plot(pdfx, pdfy)
Run Code Online (Sandbox Code Playgroud)

您可以使用以下示例中的示例来拟合数据:

使用Scipy(Python)将经验分布拟合到理论分布?