草庐IT

python - 过滤数据框的 Pandas 直方图

在过去的一个小时里,这让我很生气。我可以在使用时绘制直方图:hist(df.GVW,bins=50,range=(0,200))例如,当我需要针对其中一列中的给定条件过滤数据框时,我会使用以下命令:df[df.TYPE=='SU4']到目前为止,一切正常。当我尝试获取此过滤数据的直方图时,我收到一个关键错误:KeyError:0L。我将以下内容用于过滤数据的直方图:hist(df[df.TYPE=='SU4'].GVW,bins=50,range=(0,200))是不是哪里有语法错误?感谢您的帮助! 最佳答案 也许尝试使用.valu

python - 在 matplotlib 中获得倒序累积直方图的技巧

我想知道是否有(更好的)技巧来反转matplotlib中的累积直方图。假设我有一些分数在0.0到1.0之间,其中1.0是最好的分数。现在,我有兴趣绘制有多少样本高于某个分数阈值。importnumpyasnpimportmatplotlib.pyplotaspltd=np.random.normal(size=1000)d=(d-d.min())/(d.max()-d.min())plt.hist(d,50,histtype="stepfilled",alpha=.7)默认情况下,matplotlib会绘制累积直方图,就像“样本数plt.hist(d,50,histtype="step

python - 从直方图制作概率分布函数 (PDF)

假设我有几个直方图,每个直方图在不同bin位置(在实轴上)都有计数。例如defgenerate_random_histogram():#Randombinlocationsbetween0and100bin_locations=np.random.rand(10,)*100bin_locations.sort()#Randomcountsbetween0and50onthoselocationsbin_counts=np.random.randint(50,size=len(bin_locations))return{'loc':bin_locations,'count':bin_co

Python:面积归一化为 1 以外的值的直方图

有没有办法告诉matplotlib对直方图进行“归一化”,使其面积等于指定值(1除外)?选项“normed=0”在n,bins,patches=plt.hist(x,50,normed=0,histtype='stepfilled')只是将其带回频率分布。 最佳答案 只需计算它并将其归一化为您想要的任何值,然后使用bar绘制直方图。附带说明一下,这会将所有条形图的区域归一化为normed_value。原始总和将不是normed_value(如果您愿意,很容易做到这种情况)。例如importnumpyasnpimportmatplot

Python:如何制作具有相同*大小* bin 的直方图

我有一组数据,想绘制它的直方图。我需要容器具有相同的大小,我的意思是它们必须包含相同数量的对象,而不是更常见的(numpy.histogram)问题等距垃圾箱。这自然会以箱宽度为代价,箱宽度可以-通常会-不同。我将指定所需bin的数量和数据集,作为返回获得bin边缘。Example:data=numpy.array([1.,1.2,1.3,2.0,2.1,2.12])bins_edges=somefunc(data,nbins=3)print(bins_edges)>>[1.,1.3,2.1,2.12]所以bin都包含2个点,但它们的宽度(0.3、0.8、0.02)不同。有两个限制:-

python - 具有多个图例条目的 Matplotlib 直方图

我有这段代码可以生成直方图,识别三种类型的字段;“低”、“中”和“高”:importpylabaspltimportpandasaspddf=pd.read_csv('April2017NEW.csv',index_col=1)df1=df.loc['OutputEnergy,(Wh/h)']#chooseindexvalueandAveragedf1['Average']=df1.mean(axis=1)N,bins,patches=plt.hist(df1['Average'],30)cmap=plt.get_cmap('jet')low=cmap(0.5)medium=cmap(

python - 想要将 Pandas Dataframe 绘制为具有 log10 比例 x 轴的多个直方图

我在Pandas数据框中有float据。每列代表一个变量(它们有字符串名称),每一行代表一组值(这些行有不重要的整数名称)。>>>printdata0kppawr23kppaspyd13.31238713.26604022.7752020.1000003100.000000100.0000004100.00000039.437420517.01715033.019040...我想为每一列绘制直方图。我取得的最佳结果是使用dataframe的hist方法:data.hist(bins=20)但我希望每个直方图的x轴都在log10范围内。并且bins也在log10规模上,但这很容易使用bi

python - 在 python 中将图像划分为 5x5 block 并计算每个 block 的直方图

使用Python,我必须:将Test_Image和Reference_image分成5x5block,计算每个block的直方图,并将其与其他图像中的相同block进行比较。例如:image1(1,1)和image2(1,1)。比较两个图像之间的相似性(应该是变换不变的)。到目前为止,我已经使用hist=numpy.histogram(image,bins=256)计算了整个图像的直方图我想划分图像,然后计算所有这些block的直方图。我还想使用Bhattacharya系数来衡量相似度。任何人都可以指导我如何完成这一过程吗?提前致谢:) 最佳答案

python - Matplotlib 动画直方图

我正在尝试根据下面的代码创建一个动画直方图。我可以为每次创建单独的直方图,但是我无法使用matplotlib.animation函数或模拟matplotlibtutorial中的代码来为结果设置动画。.importnumpyasnpimportmatplotlib.pyplotaspltbetas=[]#someverylonglistentropy=[]#someverylonglistfortimein[0.0,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.55.0,5.5,6.0,6.5,7.0,7.5,8.0,8,5,9.0,9.5,10.0]:plt.f

python - 来自已经分箱的数据的直方图,我有分箱和频率值

所有matplotlibexamples使用hist()生成数据集,将数据集提供给带有一些bin(可能非均匀间隔)的hist函数,该函数自动计算然后绘制直方图。我已经有了直方图数据,我只是想绘制它,我该怎么做?!例如,我有垃圾箱(半开范围用方括号和弯括号表示法表示),[0,1)0[1,2)3[2,3)8[3,4)6[4,5)2[5,6)3[6,7)1[7,8)0 最佳答案 也许权重参数会对您的问题有所帮助。importmatplotlib.pyplotasplta=[1,2,3,4,5,6,7,8,9]b=[5,3,4,5,3,2,