关于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 数组相加)
- 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(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”是否有另一种解决方案?
希望有人能在这里提供帮助。我一直在绕圈子一段时间。我只是想设置一个 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
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 两列
我有这个数据框
H = Home win
D = Draw
A = Away win
Datetime HomeTeam AwayTeam HG AG FT
0 2021-02-17 22:00:00 Colo Colo U. De Concepcion 1 0 H
1 2021-02-15 14:30:00 Cobresal U. Espanola 4 1 H
2 2021-02-14 22:00:00 Deportes Iquique S. Wanderers 2 0 H
3 2021-02-14 22:00:00 La Serena A. Italiano 0 2 A
4 2021-02-14 22:00:00 O''Higgins Colo Colo 1 1 D
... ... ... ... ... ... ...
我想在每一行中总结以前的主场和客场胜利。
代码
#Creating Bool columns for cumsum
df[''HomeWin''] = df[''HG''] > df[''AG'']
df[''Draw''] = df[''HG''] == df[''AG'']
df[''HomeLoss''] = df[''HG''] < df[''AG'']
#Calculating prevIoUs wins of home team except current row
home_sum = df.groupby(''HomeTeam'')[''HomeWin''].apply(lambda x: x.shift(fill_value=0).rolling(99,min_periods=1).sum())
#Calc prevIoUs matches of home team except current row
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()))
#Calculating prevIoUs wins of away team
away_sum = df.groupby(''AwayTeam'')[''HomeLoss''].cumsum()
#Calc prevIoUs matches of away team
away_count = df.groupby(''AwayTeam'')[''HomeLoss''].cumsum() + df.groupby(''AwayTeam'')[''Draw''].cumsum() + df.groupby(''AwayTeam'')[''HomeWin''].cumsum()
print(away_count)
df[''SUM''] = (home_sum + away_sum) / (home_count + away_count)
输出
Datetime HomeTeam AwayTeam HG AG FT 1 X 2 SUM
0 2021-02-17 22:00:00 Colo Colo U. De Concepcion 1 0 H 2.53 3.01 2.80 0.285714
Home_sum = 6
Home_count = 17
Away_sum = 4
Away_count = 18
df[''SUM''] = (6 + 4) / (17 + 18)
EXPECTED OUTPUT
Home_sum = 6
Home_count = 17
Away_sum = 3
Away_count = 17
df[''SUM''] = (6 + 3) / (17 + 17)
我有一个问题,它不计算同一支球队的比赛,而是同一排球队的比赛。在示例中,错误在于它考虑了 U. De Concepcion 而不是 Colo colo 在 AwayTeam 列中的值
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()等相关内容,可以在本站寻找。
本文标签: