GVKun编程网logo

numpy 数组求累加和 numpy.cumsum ()(numpy 数组相加)

2

关于numpy数组求累加和numpy.cumsum()和numpy数组相加的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于AnacondaNumpy错误“ImportingtheNumpy

关于numpy 数组求累加和 numpy.cumsum ()numpy 数组相加的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Anaconda Numpy 错误“Importing the Numpy C Extension Failed”是否有另一种解决方案、clear,cumsum,sum,numel,double,zeros,ones,abs,histeq,max/min、Cumsum Pandas groupby 两列、cumsum累计函数系列:pd.cumsum()、pd.cumprod()、pd.cummax()、pd.cummin()等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

numpy 数组求累加和 numpy.cumsum ()(numpy 数组相加)

numpy 数组求累加和 numpy.cumsum ()(numpy 数组相加)

numpy 数组求累加和

numpy.cumsum(a,  axis=None, dtype=None, out=None)

按照所给定的轴参数返回元素的梯形累计和,axis=0,按照行累加。axis=1,按照列累加。axis 不给定具体值,就把 numpy 数组当成一个一维数组。

>>>

>>> a = np.array([[1,2,3], [4,5,6]])

>>> a

array([[1, 2, 3],

          [4, 5, 6]])

>>> np.cumsum(a)

array([ 1,  3,  6, 10, 15, 21])

>>> np.cumsum(a, dtype=float)    # 指定输出类型。

    #注意啦!没有指定轴!输出就变成 1 维数组了,如果你本来输入的就是 1 维数组,那就这样了。

array([  1.,  3.,  6.,  10.,  15.,  21.])

#array([1,1+2=3,1+2+3=6,1+2+3+4=10,1+2+3+4+5=15,1+2+3+4+5+6=21])

>>>

>>> np.cumsum(a,axis=0)      # sum over rows for each of the 3 columns

                                                  #按照行累加,行求和

array([[1, 2, 3],

           [5, 7, 9]])            #[1,    2,    3]

                                     #[1+4=5,2+5=7,3+6=9]

>>> np.cumsum(a,axis=1)      # sum over columns for each of the 2 rows

                                                   # 按照列累加,列求和

array([[ 1,  3,  6],

           [ 4,  9, 15]])




链接:https://www.jianshu.com/p/00cddc31db4d

 

Anaconda Numpy 错误“Importing the Numpy C Extension Failed”是否有另一种解决方案

Anaconda Numpy 错误“Importing the Numpy C Extension Failed”是否有另一种解决方案

如何解决Anaconda Numpy 错误“Importing the Numpy C Extension Failed”是否有另一种解决方案?

希望有人能在这里提供帮助。我一直在绕圈子一段时间。我只是想设置一个 python 脚本,它将一些 json 数据从 REST API 加载到云数据库中。我在 Anaconda 上设置了一个虚拟环境(因为 GCP 库推荐这样做),安装了依赖项,现在我只是尝试导入库并向端点发送请求。 我使用 Conda(和 conda-forge)来设置环境并安装依赖项,所以希望一切都干净。我正在使用带有 Python 扩展的 VS 编辑器作为编辑器。 每当我尝试运行脚本时,我都会收到以下消息。我已经尝试了其他人在 Google/StackOverflow 上找到的所有解决方案,但没有一个有效。我通常使用 IDLE 或 Jupyter 进行脚本编写,没有任何问题,但我对 Anaconda、VS 或环境变量(似乎是相关的)没有太多经验。 在此先感谢您的帮助!

  \Traceback (most recent call last):
File "C:\Conda\envs\gcp\lib\site-packages\numpy\core\__init__.py",line 22,in <module>
from . import multiarray
File "C:\Conda\envs\gcp\lib\site-packages\numpy\core\multiarray.py",line 12,in <module>
from . import overrides
File "C:\Conda\envs\gcp\lib\site-packages\numpy\core\overrides.py",line 7,in <module>
from numpy.core._multiarray_umath import (
ImportError: DLL load Failed while importing _multiarray_umath: The specified module Could not be found.

During handling of the above exception,another exception occurred:

Traceback (most recent call last):
File "c:\API\citi-bike.py",line 4,in <module>
import numpy as np
File "C:\Conda\envs\gcp\lib\site-packages\numpy\__init__.py",line 150,in <module>
from . import core
File "C:\Conda\envs\gcp\lib\site-packages\numpy\core\__init__.py",line 48,in <module>
raise ImportError(msg)
ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions Failed. This error can happen for
many reasons,often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

* The Python version is: python3.9 from "C:\Conda\envs\gcp\python.exe"
* The NumPy version is: "1.21.1"

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: DLL load Failed while importing _multiarray_umath: The specified module Could not be found.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

clear,cumsum,sum,numel,double,zeros,ones,abs,histeq,max/min

clear,cumsum,sum,numel,double,zeros,ones,abs,histeq,max/min

一. clear

clear意思是清空内存中的矩阵常量和变量,清除变量。每次在编写matlab程序时在开始最好加上clear。

二. cumsum

matlab中使用sum和cumsum两个加和函数,区别与联系参考matlab中cumsum函数详解。

matlab中cumsum函数通常用于计算一个数组各行的累加值。在matlab的命令窗口中输入doc cumsum或者help cumsum即可获得该函数的帮助信息。

调用格式及说明

matlab中cumsum函数通常用于计算一个数组各行的累加值。在matlab的命令窗口中输入doc cumsum或者help cumsum即可获得该函数的帮助信息。

调用格式及说明

格式一:B = cumsum(A)

这种用法返回数组不同维数的累加和。

为了便于接下来的叙述,解释一下matlab中矩阵、数组、向量的概念:[1]

首先,matlab是矩阵实验室的意思。也就是说matlab中的数据都被视为矩阵。

数组就是一个一行n列的矩阵,向量就是一个n行一列的矩阵。

如果A是一个向量,cumsum(A) 返回一个向量,该向量中第m行的元素是A中第1行到第m行的所有元素累加和;

如果A是一个矩阵,cumsum(A) 返回一个和A同行同列的矩阵,矩阵中第m行第n列元素是A中第1行到第m行的所有第n列元素的累加和;

如果A是一个多维数组,cumsum(A)只对A中第一个非奇异维进行计算。

格式二:B = cumsum(A, dim)

这种调用格式返回A中由标量dim所指定的维数的累加和。

例如:cumsum(A, 1)返回的是沿着第一维(各列)的累加和,cumsum(A, 2)返回的是沿着第二维(各行)的累加和。

具体用法参考程序示例或matlab的帮助文档。

相关函数

cumprod, prod, sum

编辑本段程序示例

% cumsum example

clc

clear

A=[1;2;3;4;5];

cumsum(A)            % A是一个向量

B=1:5;

cumsum(B)            % A是一个数组

C = [1 2 3; 4 5 6];

cumsum(C, 1)

cumsum(C,2)

% 构造一个多维数组

D = zeros(3, 3, 3);

D(:,:,2) = [1,2,3;4,5,6;7,8,9];

D(:,:,3) = ones(3,3)

cumsum(D)

三. sum

sum 函数的例子

a1=[1, 2, 3; 4, 5, 6; 7, 8, 10]

sum(a1)= 12    15    19

b=[1, 2, 3]

sum(b) = 6

c=[1, 2, 3]

sum(c)=6

四. numel

numel:元素总数。n=numel(A)该语句返回数组中元素的总数。

五. double    

double(A);%返回与A矩阵数值相同但类型为double的矩阵。

六. zeros

zeros函数——生成零矩阵。

B = zeros(n):生成n×n全零阵。

B = zeros(m, n):生成m×n全零阵。

B = zeros([m n]):生成m×n全零阵。

B = zeros(d1, d2, d3……):生成d1×d2×d3×……全零阵或数组。

B = zeros([d1 d2 d3……]):生成d1×d2×d3×……全零阵或数组。

B = zeros(size(A)):生成与矩阵A相同大小的全零阵。

七. ones

ones的使用方法与zeros的使用方法类似。

八. abs

取绝对值。

九. imhist

功能:

计算和显示图像的色彩直方图

格式:

imhist(I, n)

imhist(X, map)

说明:

imhist(I, n)其中,n为指定的灰度级数目,缺省值为256。

imhist(X, map)就算和显示索引色图像X的直方图,map为调色板。

用astem(x, counts)同样可以显示直方图。

十. histeq

histeq函数

功能:

直方图均衡化

格式:

J = histeq(I, hgram)

J = histeq(I, n)

[J,T] = histeq(I, ...)

newmap = histeq(X, map, hgram)

newmap = histeq(X, map)

[new, T] = histeq(X, ...)

说明:

J = histeq(I, hgram)实现了所谓“直方图规定化”,即将原图象I的直方图变换成用户指定的向量hgram。hgram中的每一个元素都在[0,1]中;

J = histeq(I, n)指定均衡化后的灰度级数n,缺省值为64;

[J, T] = histeq(I, ...)返回从能将图像I的灰度直方图变换成图像J的直方图的变换T;

newmap = histeq(X, map)和[new, T] = histeq(X, ...)是针对索引色图像调色板的直方图均衡。

十一. max/min

求矩阵的最大值和最小值。

求矩阵A的最大值的函数有3种调用格式,分别是:

(1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。

(2) [Y,U] = max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。

(3) max(A, [], dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。

求最小值的函数是min,其用法和max完全相同。

Cumsum Pandas groupby 两列

Cumsum Pandas groupby 两列

如何解决Cumsum Pandas groupby 两列

我有这个数据框

  1. H = Home win
  2. D = Draw
  3. A = Away win
  4. Datetime HomeTeam AwayTeam HG AG FT
  5. 0 2021-02-17 22:00:00 Colo Colo U. De Concepcion 1 0 H
  6. 1 2021-02-15 14:30:00 Cobresal U. Espanola 4 1 H
  7. 2 2021-02-14 22:00:00 Deportes Iquique S. Wanderers 2 0 H
  8. 3 2021-02-14 22:00:00 La Serena A. Italiano 0 2 A
  9. 4 2021-02-14 22:00:00 O''Higgins Colo Colo 1 1 D
  10. ... ... ... ... ... ... ...

我想在每一行中总结以前的主场和客场胜利。

代码

  1. #Creating Bool columns for cumsum
  2. df[''HomeWin''] = df[''HG''] > df[''AG'']
  3. df[''Draw''] = df[''HG''] == df[''AG'']
  4. df[''HomeLoss''] = df[''HG''] < df[''AG'']
  5. #Calculating prevIoUs wins of home team except current row
  6. home_sum = df.groupby(''HomeTeam'')[''HomeWin''].apply(lambda x: x.shift(fill_value=0).rolling(99,min_periods=1).sum())
  7. #Calc prevIoUs matches of home team except current row
  8. home_count = (df.groupby(''HomeTeam'')[''Win''].apply(lambda x: x.shift(fill_value=0).rolling(99,min_periods=1).sum()) + df.groupby(''HomeTeam'')[''Draw''].apply(lambda x: x.shift(fill_value=0).rolling(99,min_periods=1).sum()) + df.groupby(''HomeTeam'')[''HomeLoss''].apply(lambda x: x.shift(fill_value=0).rolling(99,min_periods=1).sum()))
  9. #Calculating prevIoUs wins of away team
  10. away_sum = df.groupby(''AwayTeam'')[''HomeLoss''].cumsum()
  11. #Calc prevIoUs matches of away team
  12. away_count = df.groupby(''AwayTeam'')[''HomeLoss''].cumsum() + df.groupby(''AwayTeam'')[''Draw''].cumsum() + df.groupby(''AwayTeam'')[''HomeWin''].cumsum()
  13. print(away_count)
  14. df[''SUM''] = (home_sum + away_sum) / (home_count + away_count)

输出

  1. Datetime HomeTeam AwayTeam HG AG FT 1 X 2 SUM
  2. 0 2021-02-17 22:00:00 Colo Colo U. De Concepcion 1 0 H 2.53 3.01 2.80 0.285714
  3. Home_sum = 6
  4. Home_count = 17
  5. Away_sum = 4
  6. Away_count = 18
  7. df[''SUM''] = (6 + 4) / (17 + 18)
  8. EXPECTED OUTPUT
  9. Home_sum = 6
  10. Home_count = 17
  11. Away_sum = 3
  12. Away_count = 17
  13. df[''SUM''] = (6 + 3) / (17 + 17)

我有一个问题,它不计算同一支球队的比赛,而是同一排球队的比赛。在示例中,错误在于它考虑了 U. De Concepcion 而不是 Colo colo 在 AwayTeam 列中的值

cumsum累计函数系列:pd.cumsum()、pd.cumprod()、pd.cummax()、pd.cummin()

cumsum累计函数系列:pd.cumsum()、pd.cumprod()、pd.cummax()、pd.cummin()

cum系列函数是作为DataFrame或Series对象的方法出现的,因此命令格式为D.cumsum()

举例:

D=pd.Series(range(0,5))

1. cumsum

2. cumprod

3. cummax

4. cummin

 

参考文献:

【1】Pandas —— cum累积计算和rolling滚动计算

关于numpy 数组求累加和 numpy.cumsum ()numpy 数组相加的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Anaconda Numpy 错误“Importing the Numpy C Extension Failed”是否有另一种解决方案、clear,cumsum,sum,numel,double,zeros,ones,abs,histeq,max/min、Cumsum Pandas groupby 两列、cumsum累计函数系列:pd.cumsum()、pd.cumprod()、pd.cummax()、pd.cummin()等相关内容,可以在本站寻找。

本文标签: