小编use*_*r40的帖子

Python:发生的频率

我有整数列表,想要得到每个整数的频率.这在这里讨论

问题是当我的数据集只包含整数时,我正在使用的方法给出了浮点数的频率.为什么会发生这种情况以及如何从数据中获取整数频率?

我正在使用pyplot.histogram来绘制出现频率的直方图

import numpy as np
import matplotlib.pyplot as plt
from numpy import *
data = loadtxt('data.txt',dtype=int,usecols=(4,)) #loading 5th column of csv file into array named data. 
plt.hist(data) #plotting the column as histogram 
Run Code Online (Sandbox Code Playgroud)

我得到直方图,但我注意到如果我"打印"hist(数据)

hist=np.histogram(data)
print hist(data)
Run Code Online (Sandbox Code Playgroud)

我明白了:

(array([ 2323, 16338,  1587,   212,    26,    14,     3,     2,     2,     2]), 
array([  1. ,   2.8,   4.6,   6.4,   8.2,  10. ,  11.8,  13.6,  15.4,
    17.2,  19. ]))
Run Code Online (Sandbox Code Playgroud)

其中第二个数组表示值,第一个数组表示出现次数.

在我的数据集中,所有值都是整数,第二个数组如何发生浮动数字以及如何获得整数频率?

更新:

这解决了问题,谢谢Lev的回复.

plt.hist(data, bins=np.arange(data.min(), data.max()+1))
Run Code Online (Sandbox Code Playgroud)

为了避免创建一个新问题,我如何为每个整数绘制"中间"列?比如说,我希望整数3的列占用2.5到3.5之间的空间而不是3到4之间的空间.

直方图

python matplotlib

17
推荐指数
1
解决办法
5万
查看次数

如何根据日期pandas数据框汇总?

我有这个数据帧

df=pd.DataFrame([["2017-01-14",1],
    ["2017-01-14",30],
    ["2017-01-16",216],
    ["2017-02-17",23],
    ["2017-02-17",2],
    ["2017-03-19",745],
    ["2017-03-19",32],
    ["2017-03-20",11],
    ["2017-03-20",222],
    ["2017-03-21",4]],columns=["date","payout_value"])
Run Code Online (Sandbox Code Playgroud)

要按payout_value日期汇总我使用:

df_daily=df.groupby('date').agg(['sum'])

payout_value
sum
date    
2017-01-14  31
2017-01-16  216
2017-02-17  25
2017-03-19  777
2017-03-20  233
2017-03-21  4
Run Code Online (Sandbox Code Playgroud)

如何在x轴上绘制(条形图)日期,在y轴上绘制汇总的支出总和?

我尝试使用df.plot(x='date', y='payout_value',kind="bar")方法,但df_daily数据框中没有"日期"列,print(list(df_daily))给出[('payout_value', 'sum')]

python matplotlib dataframe pandas

7
推荐指数
1
解决办法
2785
查看次数

如何在 numpy Python 中启用和禁用 Intel MKL?

我想测试和比较使用英特尔 MKL 和不使用英特尔 MKL 的 Numpy 矩阵乘法和特征分解性能。

我已经使用pip install mkl(Windows 10(64位),Python 3.8)安装了MKL。

然后我使用这里的示例进行 matmul 和特征分解。

我现在如何启用和禁用 MKL 以便检查使用 MKL 和不使用 MKL 时的 numpy 性能?

参考代码:

import numpy as np
from time import time

def matrix_mul(size, n=100):
    # reference: https://markus-beuckelmann.de/blog/boosting-numpy-blas.html
    np.random.seed(112)
    a, b = np.random.random((size, size)), np.random.random((size, size))
    t = time()
    for _ in range(n):
        np.dot(a, b)
    delta = time() - t
    print('Dotted two matrices of size %dx%d in %0.4f ms.' % (size, size, delta / n …
Run Code Online (Sandbox Code Playgroud)

python intel-mkl

6
推荐指数
1
解决办法
1万
查看次数

如何在python中规范化直方图?

我试图绘制标准直方图,但是在y轴上得到1作为最大值,我得到不同的数字.

对于数组k =(1,4,3,1)

 import numpy as np

 def plotGraph():

    import matplotlib.pyplot as plt

    k=(1,4,3,1)

    plt.hist(k, normed=1)

    from numpy import *
    plt.xticks( arange(10) ) # 10 ticks on x axis

    plt.show()  

plotGraph()
Run Code Online (Sandbox Code Playgroud)

我得到这个直方图,看起来不像诺曼.

在此输入图像描述

对于不同的数组k =(3,3,3,3)

 import numpy as np

 def plotGraph():

    import matplotlib.pyplot as plt

    k=(3,3,3,3)

    plt.hist(k, normed=1)

    from numpy import *
    plt.xticks( arange(10) ) # 10 ticks on x axis

    plt.show()  

plotGraph()
Run Code Online (Sandbox Code Playgroud)

我得到这个直方图,最大y值是10.

在此输入图像描述

对于不同的k,即使normed = 1或normed = True,我也得到不同的y的最大值.

为什么规范化(如果有效)会根据数据发生变化,如何使y的最大值等于1?

更新:

我试图通过在matplotlib中绘制条形高度总和为1的直方图来实现CarstenKönig的答案并得到非常奇怪的结果:

import numpy as np

def …
Run Code Online (Sandbox Code Playgroud)

python matplotlib normalization

5
推荐指数
3
解决办法
5万
查看次数

如何在熊猫数据框中按日期汇总所有金额?

我有包含字段last_payoutamount. 我需要对amount每个月的所有内容求和并绘制输出。

df[['last_payout','amount']].dtypes

last_payout    datetime64[ns]
amount           float64
dtype: object
Run Code Online (Sandbox Code Playgroud)

——

df[['last_payout','amount']].head

<bound method NDFrame.head of                last_payout  amount
0      2017-02-14 11:00:06          23401.0
1      2017-02-14 11:00:06          1444.0
2      2017-02-14 11:00:06          0.0
3      2017-02-14 11:00:06          0.0
4      2017-02-14 11:00:06          290083.0
Run Code Online (Sandbox Code Playgroud)

我使用 jezrael 的答案中的代码来绘制每月的交易数量。

(df.loc[df['last_payout'].dt.year.between(2016, 2017), 'last_payout']
         .dt.to_period('M')
         .value_counts()
         .sort_index()
         .plot(kind="bar")
)
Run Code Online (Sandbox Code Playgroud)

每月交易次数:

每月交易次数

我如何总结amount每个月的所有内容并绘制输出?我应该如何扩展上面的代码来做到这一点?

我试图实施.sum但没有成功。

python pandas

4
推荐指数
1
解决办法
1万
查看次数

如何在Excel中找到给定数字的最大序列?

我有一列零和一

1
0
0
0
1
1
Run Code Online (Sandbox Code Playgroud)

我想找出我的列中最大的零序列以及它出现的次数。

excel sequence

3
推荐指数
1
解决办法
5440
查看次数

从 Pandas 数据框中绘制堆积条形图

我有数据框:

payout_df.head(10)

在此处输入图片说明

复制以下 excel 图的最简单、最智能和最快的方法是什么?

在此处输入图片说明

我尝试了不同的方法,但无法让一切都到位。

谢谢

python plot matplotlib dataframe pandas

1
推荐指数
1
解决办法
9593
查看次数