一列数据是频率的统计问题?

有一个样本,a列是数字,b列是该数字出现的次数,样本很大,要求这个样本的标准差和正态分布图,请问用python应该怎样处理?查了很多,还是不太懂...
A B
100 2
200 3
300 4

白衣染霜花
浏览 770回答 1
1回答

幕布斯7119047

关于数据A B 100 2 200 3 300 4 ...可以看成一个长这样[100,100,200,200,200,300,300,300,300,...]的list。标准分布可以使用numpy的std()来计算标准差,当然自己写公式也可以。比如In [1]: import numpy as np In [2]: np.std([100,100,200,200,200,300,300,300,300]) Out[2]: 78.56742013183862分布图正态分布图只是正态分布的数据的分布图。是否正态分布取决于你的数据。可以考虑用seaborn来绘制分布图。import seaborn as sns sns.distplot([100,100,200,200,200,300,300,300,300])分布图长这样:大数据量可以用pandas读取。用一个循环将数据表转为list:import pandas as pd df = pd.DataFrame({'A':[100,200,300],'B':[2,3,4]})""" df 像这样      A  B 0  100  2 1  200  3 2  300  4 """l = []for i, j in zip(df['A'],df['B']):     tmp = [i]*j     l.extend(tmp)     """ l 像这样 [100, 100, 200, 200, 200, 300, 300, 300, 300] """
打开App,查看更多内容
随时随地看视频慕课网APP