【python3库numpy数组属性的查看方法】教程文章相关的互联网学习教程文章

python-熊猫:用一些numpy数组填充一列【代码】

我正在使用python2.7和pandas 0.11.0. 我尝试使用DataFrame.apply(func)填充数据框的一列. func()函数应该返回一个numpy数组(13).import pandas as pd import numpy as npdf= pd.DataFrame(np.random.randn(4, 3), columns=list('ABC')) print(df)A B C0 0.910142 0.788300 0.1141641 -0.603282 -0.625895 2.8431302 1.823752 -0.091736 -0.1077813 0.447743 -0.163605 0.514052用于测试目的的功能:def te...

python-如何选择一个numpy数组的索引的倒数?【代码】

我有大量的数据,我需要在其中比较该数组中的一组样本的距离与该数组中所有其他元素的距离.以下是我的数据集的一个非常简单的示例.import numpy as np import scipy.spatial.distance as sddata = np.array([[ 0.93825827, 0.26701143],[ 0.99121108, 0.35582816],[ 0.90154837, 0.86254049],[ 0.83149103, 0.42222948],[ 0.27309625, 0.38925281],[ 0.06510739, 0.58445673],[ 0.61469637, 0.05420098],[ 0.92685408, 0.62...

python-`np.concatenate`具有稀疏矩阵的numpy数组【代码】

数据集包含数值和类别变量,然后将其分为两部分:cont_data = data[cont_variables].values disc_data = data[disc_variables].values然后,我使用sklearn.preprocessing.OneHotEncoder对分类数据进行编码,然后尝试将编码的分类数据与数值数据合并:np.concatenate((cont_data, disc_data_coded), axis=1)但是会发生以下错误:ValueError: all the input arrays must have same number of dimensions我确保尺寸数相等:print(cont_da...

python-如何迭代Numpy数组的初始尺寸?【代码】

我有一个形状为[1000,1000,1000,3]的Numpy数组,是最后一个维度,大小为3,包含3D空间向量分量的三元组.如何使用nditer遍历每个三元组?像这样:for vec in np.nditer(my_array, op_flags=['writeonly', <???>]):vec = np.array(something)解决方法:我之前已经解决了这个问题,但这是一个简短的示例:vec=np.arange(2*2*2*3).reshape(2,2,2,3) it=np.ndindex(2,2,2) for i in it:print(vec[i])生产:[0 1 2] [3 4 5] [6 7 8] [ 9 10 11...

python – 将值分配给Numpy数组中的不同索引位置【代码】

说我有一个阵列 np.zeros((4,2)) 我有一个值列表[4,3,2,1],我想分配给以下位置:[(0,0),(1,1),(2,1),(3,0)] 如果不使用for循环或展平数组,我该怎么做? 我可以使用花式索引来检索值,但不能分配它们. ======更新========= 感谢@hpaulj,我意识到原始代码中的错误是. 当我使用zeros_like启动数组时,它默认为int并截断值.因此,看起来我没有分配任何东西!解决方法:您可以使用元组索引:>>> import numpy as np >>> a = np.zeros((4,2))...

python – numpy数组中的多个累积和【代码】

我是numpy的新手,所以如果这个问题已经被问到我很抱歉.我正在寻找一种矢量化解决方案,它能够在一维numpy数组中运行多个不同大小的cumum.my_vector=np.array([1,2,3,4,5]) size_of_groups=np.array([3,2])我想要的东西np.cumsum.group(my_vector,size_of_groups) [1,3,6,4,9]我不想要一个带循环的解决方案. numpy函数或numpy操作.解决方法:不确定numpy,但是pandas可以通过groupby cumsum很容易地做到这一点:import pandas as pds =...

python – 在Numpy数组中查找模式【代码】

我试图在一个numpy数组中找到模式,称为值.我想返回模式的起始索引位置.我知道我可以迭代每个元素并检查该元素和下一个元素是否与模式匹配,但是在一个非常低效的大型数据集上,我正在寻找更好的替代方案. 我有一个使用np.where搜索单个值的工作解决方案,但我无法找到一个模式或两个数字. 例:import numpy as np values = np.array([0,1,2,1,2,4,5,6,1,2,1]) searchval = [1,2] print np.where(values == searchval)[0]输出:[]预期...

python – 如何减少numpy数组的维数?【代码】

我开始使用mxnxp数组A,In [16]: A Out[16]: array([[[ 2.10000000e+01, 3.70060693e-01],[ 2.00000000e+01, 2.15659121e-01],[ 1.50000000e+01, 1.35009735e-01],[ 2.30000000e+01, 1.15997981e-01],[ 2.20000000e+01, 7.02226670e-02],[ 1.60000000e+01, 3.96571639e-02],[ 2.50000000e+01, 1.64442373e-02],[ 2.40000000e+01, 1.29001995e-02],[ 1.20000000e+01, 8.15782143e-03],[ 4.00000000e+00...

在python中将数组的字符串表示形式转换为numpy数组【代码】

我可以使用ast.literal_eval进行convert a string representation of a list to a list.是否有一个numpy数组的等价物?x = arange(4) xs = str(x) xs '[0 1 2 3]' # how do I convert xs back to an array使用ast.literal_eval(xs)会引发SyntaxError.如果需要,我可以进行字符串解析,但我认为可能有更好的解决方案.解决方法:对于1D阵列,Numpy has a function called fromstring,所以无需额外的库就可以非常高效地完成. 简而言之,你可...

python – ctypes – 没有形状的numpy数组?【代码】

我使用python包装器来调用c dll库的函数.一个ctype由dll库返回,我将其转换为numpy数组score = np.ctypeslib.as_array(score,1) 但阵列没有形状?score >>> array(-0.019486344729027664)score.shape >>> ()score[0] >>> IndexError: too many indices for array如何从乐谱数组中提取双精度? 谢谢.解决方法:您可以通过索引[()]访问0维数组中的数据. 例如,score [()]将检索数组中的基础数据. 这个成语实际上是一致的:# x, y, z are...

python – 如何从numpy数组列表中删除一个numpy数组?【代码】

如果我有一个numpy数组列表,那么使用remove方法返回一个值错误. 例如:import numpy as npl = [np.array([1,1,1]),np.array([2,2,2]),np.array([3,3,3])]l.remove(np.array([2,2,2]))会给我的ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()我似乎无法让all()工作,这是不可能的吗?解决方法:这里的问题是当两个numpy数组与==进行比较时,就像在remove()和index()方法中一...

python – 随机调整numpy数组的每一行中的项目【代码】

我有一个像下面这样的numpy数组:Xtrain = np.array([[1, 2, 3],[4, 5, 6],[1, 7, 3]])我想分别对每行的项进行随机播放,但不希望每行的shuffle相同(如在几个示例中只是随机播放列顺序). 例如,我想要一个如下输出:output = np.array([[3, 2, 1],[4, 6, 5],[7, 3, 1]])如何以有效的方式随机随机地随机移动每一行?我的实际np数组超过100000行和1000列.解决方法:由于您只想对列进行随机播放,因此只需在矩阵的转置上执行shuffling即可...

python – 按列解压缩NumPy数组【代码】

如果我有一个NumPy数组,例如53,有没有办法一列一列地解压缩它以传递给函数而不是像这样:my_func(arr [:,0],arr [:,1], arr [:,2])? 有点像* args列表拆包但是按列.解决方法:您可以解压缩数组的转置,以便使用函数参数的列:my_func(*arr.T)这是一个简单的例子:>>> x = np.arange(15).reshape(5, 3) array([[ 0, 5, 10],[ 1, 6, 11],[ 2, 7, 12],[ 3, 8, 13],[ 4, 9, 14]])让我们编写一个函数来将列添加到一起(通常在NumP...

python – 在numpy数组上使用inplace操作时生成的TypeError?【代码】

如果我运行以下代码:import numpy as npb = np.zeros(1) c = np.zeros(1) c = c/2**63print b, c b += c我收到此错误消息:TypeError: ufunc 'add' output (typecode 'O') could not be coerced to provided output parameter (typecode 'd') according to the casting rule ''same_kind''如果我将b = c更改为b = b c,则代码运行正常.为什么会这样?我在RHEL上运行Python 2.7.2. NumPy版本:2.0.0.dev-a2a9dfb GCC版本:4.1.2 200...

python – 随机播放一个numpy数组【代码】

我有一个2-d numpy数组,我想要洗牌.最好的方法是将它重塑为1-d,重新洗牌并再次重塑为2-d,还是可以在不重塑的情况下进行洗牌? 只使用random.shuffle不会产生预期的结果,numpy.random.shuffle只会洗牌:import random import numpy as np a=np.arange(9).reshape((3,3)) random.shuffle(a) print a[[0 1 2][3 4 5][3 4 5]]a=np.arange(9).reshape((3,3)) np.random.shuffle(a) print a[[6 7 8][3 4 5][0 1 2]]解决方法:你可以告诉np...

PYTHON3 - 相关标签