我想将csv转换为numpy数组。csv文件的第一行包含列的名称/标题。但是,当我使用genfromtxt并将names参数设置为true时,我仍然只接收到一个包含大量NaN值的正常numpy数组。我忘了什么
numpy.genfromtxt("test.csv", names=True, delimiter=",")
array([[ NaN, 64., 11., ..., NaN, NaN, NaN],
[ NaN, 64., 11., ..., NaN, N
numpy手册中说:
Instead of specifying the full covariance matrix, popular approximations include:
Spherical covariance (cov is a multiple of the identity matrix)
有人指定过球面协方差吗?我正在努力避免构建完整的协方差矩阵,因为这会消耗太多内存。如果你只有一个对角协方差矩阵,通常你自己缩放标准正态变量比使用multivariable\
标签: Numpy
3d
concatenationmatrix-multiplicationoperation
对于结果矩阵中的每个位置,我不想在参数矩阵中存储相应行和列的点积,而是想存储元素级积,它将是一个扩展到三维的向量
一个想法是将参数矩阵转换为带有向量项的向量,然后取它们的外积,但我也不知道如何做到这一点
编辑:
在我看到答复之前,我就明白了。以下是我的解决方案:
def newdot(A, B):
A = A.reshape((1,) + A.shape)
B = B.reshape((1,) + B.shape)
A = A.transpose(2, 1, 0)
B = B.
标签: Numpy
floating-accuracyeigenvalue
考虑以下简单的代码:
import numpy as np
A = np.array([[0,1,1,0],[1,0,0,1],[1,0,0,1],[0,1,1,0]], dtype=float)
eye4 = np.eye(4, dtype=float) # 4x4 identity
H1 = np.kron(A,eye4)
w1,v1 = np.linalg.eig(H1)
H1copy = np.dot(np.dot(v1,np.diag(w1)),np.transpose(v1))
在Ipython笔记本中,我定义了一个函数来绘制数据。我想导入当前笔记本中的函数以使用它。
我尝试将mynotebook.ipynb转换为mynotebook.py文件,然后执行以下操作
from mynotebook import myfunction
但是我犯了一个错误。
问题是,我用选项pylab启动ipython编写了原始笔记本。
这意味着要让它发挥作用,而不是像这样写东西
x = arange(1,10)
y = arange(1,10)
scatter(x, y)
我应该把它改为
我试图用一个模型方程,用非线性最小二乘法来重现一条曲线,从而得到一个特定的β值。y和x实验数据是两个尺寸相同的一维numpy阵列,分别为a和angle_图。我使用的代码产生错误:“float”对象不可调用。我的代码有什么问题?多谢各位
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import leastsq
a = array([ 0.04022493, 0.04287536, 0.03983
如果要有效地计算多个参数的一维数组(即不使用for循环),可以执行以下操作:
x = array([1, 2, 3])
def gen_1d_arr(x):
arr = array([2 + x, 2 - x,])
return arr
gen_1d_arr(x).T
你会得到:
array([[ 3, 1],
[ 4, 0],
[ 5, -1]])
好的,但如何对二维阵列执行此操作,如下所示:
def gen_2d_arr(x):
标签: Numpy
ironpythonenthought
几年前,Enthoud决定承担重建NumPy的艰巨任务,以便与IronPython很好地合作。工作二进制文件在以下位置托管了一段时间:
然而,自2014年底以来,上述情况似乎已成为一个死链接。尽管许多用户报告说这些过时的二进制文件存在兼容性问题,但它们仍然是从IronPython与NumPy真正进行互操作的唯一途径
我自己也有一段时间的这些二进制文件的副本,但不幸的是,从那以后我就失去了它们的踪迹。。。有人知道在哪里可以找到他们吗?我希望它们没有从互联网上消失…链接仍然存在。您需要(免费)登录
首先,我的数据如下所示:
label|instances(sentences)
5 |1190
4 |839
3 |239
2 |204
1 |127
然后我交叉验证:
from sklearn import cross_validation
kf = cross_validation.KFold(n=len(y),n_folds=10)
for train_index, test_index in kf:
print "\nTRAIN:\n", tra
这是我想要创建的图像,但是,它应该有三个对应于条形图的图例
代码如下:
import numpy as np
import matplotlib.pyplot as plt
x=[1,2,3]
y=[399,499,100]
LABELS = ["node0", "node1", "failed"]
cr = ['g','r','b']
fig,ax = plt.subplots()
ax.bar(x,y,align='center',color=cr, Label='txed, rxed,
我在Python中定义了一个矩阵:document matrix.py的名称
N = 4
l = N
k = N
D = np.zeros((l,k))
for i in range(0,l):
for j in range(0,k):
if (i==j):
D[i,j] = 2
else:
D[i,j] = 0
D[0,0] = (2*N**2+1)/6
D[-1,-1] = -(2*
有人能帮我吗?我试图在结果列表中避免nan值。因为如果p太接近于零,它将在我的新列表中生成nan
import random
import numpy as np
from numpy import log
def Compute(ListA):
NewListA = []
p = random.random()
for item in ListA:
u=np.exp(-(float(item)/500)**1.2)
y=500*((
标签: Numpy
multidimensional-arraynd4j
我最近从numpy转到了ND4J,但很难理解ND4J中的广播是如何工作的
假设我有两个数组,a的形状是[3,2,4,5],b的形状是[2,4,5]。我想按元素将它们相加,并将b广播到I=0到2的每个a[I]。在numpy中,它可以通过a+b简单地完成,而在ND4Ja.add(b)中抛出异常。我试过a.add(b.broadcast(3))但还是没有成功
在ND4J中这样做的正确方法是什么 到目前为止,我找到的唯一方法如下
var a = Nd4j.createUninitialized(Arra
标签: Numpy
coordinatesprojection
是否有一些numpy sugar用于将齐次坐标还原回二维坐标
因此:
[[4,8,2],
6,3,2]]
变成这样:
[[2,4],
[3,1.5]]
一种利用元素划分的方法-
from __future__ import division
a[:,:2]/a[:,[-1]]
我们可以使用[:,-1,None]或[:,-1][:,None]或[:,-1]。重塑-1,1以代替[:,[-1]]。使用[:,[-1]],我们保持DIM的数量不变,让我们执行广播分区
另一个是再次使用广播-
样本运
我试图得到一个函数,在单位圆内绘制n个点,但我需要它们足够分散
例如,看起来像这样的东西:
是否可以编写一个具有两个参数的函数,n(点数)和min\u d(最小间距),使点为:
a) 等距
b) 没有成对距离超过给定的min\u d
从均匀分布中取样的问题是,可能会出现两点几乎相互重叠的情况,我不希望出现这种情况。我需要为表示节点集群的网络图提供这种输入
编辑:我在这里找到了a)的答案,但b)我仍然找不到答案 提供此答案时,该问题要求随机数。因此,这个答案给出了一个随机数的解决方案。它忽略了
我是numpy新手,我猜np.array()的返回是一个行向量,因为两个向量之间的点积是可交换的,我猜对了吗?任何回应都是感激的
vx = np.array([1, 2])
vw = np.array([3, 5])
np.dot(vx, vw)
np.dot(vw, vx)
数组是1d(“向量”,而不是行/列向量)
dotdocumentation的第一段:
对于二维数组,它等价于矩阵乘法;对于一维数组,它等价于矩阵乘法
数组到向量的内积(无复共轭)。对于
N维它是a和
b中倒数第二个
所以
根据我的测试,Keras中的to_category()返回ndarrayoffloat64。我想知道为什么默认情况下它不是float32,GPU可以处理它。据我所知,GPU无法处理float64。to_category()的函数没有说明返回类型应该是什么。因此,我想这可能是一个实现细节,而不是协议/接口的一部分。总之,有两个问题:
为什么float64而不是float32
由于返回类型可能不是接口的一部分,因此可能会发生更改,因此是否不应依赖返回类型?如果是这种情况,如果关心类型,则应始终追加a
假设我有一个矩阵:
mx1 = np.matrix([[2,0,9],[0,5,8],[1,2,0]])
[[2 0 9]
[0 5 8]
[1 2 0]]
我只想将0值替换为来自另一个矩阵(相同维度)的值:
结果矩阵应为:
[[2 6 9]
[3 5 8]
[1 2 6]]
请不要打圈。
想法?一行使用:
将这些文档添加到书签中,这样可以节省您的否决票。您已经尝试过什么?如果你还没有尝试过任何东西,请开始,然后在遇到困难时问一个问题。请提供一些代码。还请花点时间阅读我所做的唯一方
标签: Numpy
scipycurve-fitting
我使用method='L-BFGS-B使用scipy.optimize.minimize()函数
上面是它返回内容的示例:
fun: 32.372210618549758
hess_inv: <6x6 LbfgsInvHessProduct with dtype=float64>
jac: array([ -2.14583906e-04, 4.09272616e-04, -2.55795385e-05,
3.76587650e-05,
标签: Numpy
scipylinear-algebraeigenvalueeigenvector
我想知道[scipy.sparse.linalg.eigs][1]实际实现了哪种方法来计算前k个特征值和特征向量
我发现了这一点,但实际实现了哪一个。快速查看收益率:
此函数是ARPACK SNEUPD、DNEUPD、CNEUPD、ZNEUPD函数的包装,这些函数使用隐式重新启动的Arnoldi方法来查找特征值和特征向量
首先检查纪录片总是有帮助的。如果这样做没有帮助,您可以自己查看源代码,找出使用的方法。
标签: Numpy
reinforcement-learningq-learning
我正在模拟一个零售商店的库存管理系统;因此,我有一个(15,15)的零矩阵,其中状态是行,动作是列:
Q = np.matrix(np.zeros([15, 15]) )
具体来说,0是最低库存水平,14是最高库存水平,状态是当前库存水平,操作库存订单(数量)
因此,我想用“-1”替换零,其中状态和动作之和>14:
print(final_Q)
#First row, from which I can order everything (since 0 + 14 == 14)
[[0 0
谁能解释一下这个numpy代码:
import numpy as np
a = np.array([0, 1, 2])
np.tile(a, (2,1,2))
其输出为:
数组([[0,1,2,0,1,2]],
[[0, 1, 2, 0, 1, 2]]])
这是我复制代码的地方。欢迎使用堆栈溢出
numpy的函数平铺将沿着指定的维度(第二个参数)平铺(或复制多次,如果愿意)
让我添加一些评论来说明文档中正在发生的事情
将numpy导入为np
数组([0,1,2])#数组a有形状(3,)
#下
这里的目标是使用numpy实现图像的卷积运算
我试图用填充选项实现卷积函数。但是,我的代码使用两个for循环遍历行和列。因此,处理大型图像文件的速度非常慢
def correlate(I, h, pad):
top, bottom, left, right = pad
tmp = zero_padding(I, top, bottom, left, right)
print("padded shape:", tmp.shape)
max_dim = max(le
我有一个numpy数组a,如下所示:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
array([1, 0, 2])
和另一个numpy数组列_index _to _be被删除,如下所示:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
array([1, 0, 2])
我想从列_index _to _be _deleted中的列索引指定的每一行中删除元素。因此,
我发现tensorflow keras(2.0)与numpy相比仍然非常慢。tfdeploy是否仍在使用中?在推理中接近numpy速度的选项有哪些
更新:
下面是一个清理过的示例,显示了不同机器上的三种方法。tf.function包装的tensorflow调用现在是8x vanilla numpy,这可能是合理的,但仍然感觉有一些开销需要处理
import tensorflow as tf
import numpy as np
x = tf.convert_to_tensor(np.rando
这里对numpy/python相当陌生,尝试找出一些不太像c、更像numpy的编码风格
背景
我已经完成了一些代码,这些代码使用一组固定的x值和多组对应的y值集,并试图找出哪一组y值是“最线性的”
它通过遍历循环中的每一组y值来实现这一点,计算并存储这些y与x的直线拟合的残差,然后一旦循环找到最小残差值的索引
…很抱歉,使用下面的代码可能会更有意义
import numpy as np
import numpy.polynomial.polynomial as poly
# set of x
假设pyspark中有两列不为null:
df2 = sqlContext.sql("SELECT AssignedDate,primaryid from parts_so where AssignedDate is not null ")
df2 = df2.withColumn('sdate', df2.AssignedDate )
df2 = df2.withColumn('edate',current_timestamp() )
当我运行df2=df2.withColumn('days
我试图在numpy中实现backprop,方法是定义一个函数,该函数在给定输入、权重矩阵和偏差的情况下执行某种操作,并使用backup函数返回输出,该函数可用于更新权重
目前这是我的,但是我认为在推导中有一些错误,因为W1矩阵的梯度太大。这里是一个pytorch实现,作为参考
感谢您的帮助
我尝试使用Tensorflow.keras.utils.Sequence使用一个简单的数据生成器来训练一个模型,但是有一个numpy属性的错误
from tensorflow.keras.utils import Sequence
class DataGenerator(Sequence):
def __init__(self, dataset, batch_size=16, dim=(1), shuffle=True):
'Initialization'
标签: Numpy
root-frameworkuproot
是否有()与“根除”的等价物?
我在两个不同的文件中有两个平行的树,我需要使用uplot.iterate和使用解释(设置uplot.iterate的'branchs'选项)来读取它们
也许我可以通过手动从文件的iterate()调用中获取几个迭代器,然后在每个迭代器上调用next()来实现这一点。。。但也许有一种更简单的方法类似于AddFriend
谢谢你的提示
编辑:我不确定我是否清楚,所以这里有更多的细节。我的问题不是关于数组的使用,而是关于如何从不同的文件中读取它们。这是我正在做的一个模型
谢谢你阅读我的问题
我必须这样绘制我的数据。当我绘制数据时
我有这样的输出。
从文件中读取数据并打印的代码如下所示
#!/usr/bin/env python3.8
import matplotlib.pyplot as plt
import numpy as np
with open('data.txt','r') as file2:
y= [line.rstrip('\n') for line in file2]
notf2=y[2:]
z=[a.rs
标签: Numpy
matrix-indexing
根据的回答,现在理解的逗号可以触发,文档中也有警告
警告高级索引的定义意味着x[(1,2,3),]是
与x[(1,2,3)]完全不同。后者相当于
x[1,2,3]将触发基本选择,而前者将
触发高级索引。一定要理解为什么会发生这种情况
使用逗号触发高级索引后,元组索引与数组索引是否相同?如果是,为什么有两种方法可以做到同样的事情
如果他们不是,请帮助理解为什么和背后的理性/决定,以破译numpy行为
Z = np.arange(12).reshape(3, 4)
print("Z is
标签: Numpy
linear-algebracosine-similarity
我有一个向量v,我想把它和一组向量U=[u1,u2,u3…]进行比较。
我想找到v与U中所有向量的平均余弦相似性
我的第一个想法是计算:
s1 = cosine_similarity(v, u1)
s2 = cosine_similarity(v, u2)
...
然后取平均值作为
s = np.mean([s1, s2, s3 ...])
但我想知道这个过程是否和取U的平均值得到一个向量U然后计算相同
u = np.mean(U)
s = cosine_similarity(x, u
以代码为例:
dd21 = []
a = [1, 2, 3, 4]
for i in range(len(a)):
for j in range(i+1, len(a)):
dd21.append(a[i]-a[j])
r = (a[i] -a[j])
j = j + 1
data1=np.column_stack((i,j,r))
np.savetxt('lol.dat', data1)
prin
标签: Numpy
mingwf2pypython-extensionsmingw-w64
我正在尝试使用Numpy的f2py.py脚本从Fortran源代码构建Python扩展。我将遵循()中的步骤。我的系统是Windows 7 64位,我主要使用Python 2.7.3[MSC v.1500 64位(AMD64)]。我有Numpy MKL 1.7.1,来自
以下是我尝试过的:
选择Fortran编译器。因为我使用的是64位Python,所以需要一个64位Fortran编译器。从开始,我尝试了一些个人构建
打开一个新的cmd.exeshell,编辑我提取GCC编译器的路径,即:
设
我有一个表示numpy数组的变量x_轴:
array(['administrator', 'retired', 'lawyer', 'none', 'student',
'technician', 'programmer', 'salesman', 'homemaker', 'executive',
'doctor', 'entertainment', 'marketing', 'writer', 'scientist',
'educator', 'he
如何找到两个numpy数组之间完全匹配的行的索引。例如:
x = np.array(([0,1],
[1,0],
[0,0]))
y = np.array(([0,1],
[1,1],
[0,0]))
这应返回:
matches = [0,2] # Match at row no 0 and 2
或:
或:
如果长度相同,则这适用于每对numpy阵列:
matches = [i f
我有两个可变长度和内容的数组(简化示例):
获取一个数组的最佳/最快方法是什么,其中B的每个元素都被A(B作为索引)中相应的行替换,从而得到以下结果:
C = [[0.25, 0.25], [0.25, 0.75], [0.75, 0.25], [0.8, 0.9], [0.25, 0.25], [0.75, 0.75], [0.75, 0.75], ...]
不知怎的,我不知所措(仍然是一个初学者,在numpy的问题上有困难)
编辑/附录:忘了提一下:我想避免循环,因为数组很大,时间很关键。
我有下面的张量执行
np.einsum('k,pjqk,yzjqk,yzk,ipqt->it', A, B, C, D, E)
我注意到,当“z”或“q”在维度上扩展时,执行时间确实受到了影响,尽管我的直觉是,它可能不会那么糟糕——也许是我的输入形式,我可以通过手动张量收缩来优化
经过一点挖掘,我发现优化有两种模式:“优化”和“贪婪”。如果我根据两种模式分别评估路径:
(['einsum_path', (0, 3), (1, 3), (0, 2), (0, 1)],
' Complet
有什么方法可以把这个循环矢量化吗?
Lc是矢量,Lr是2D阵列
for j in range(n):
Mj = Nodes[j] # Mj is a list of indices to sum over
L_posteriori[j] = Lc[j] + sum(Lr[Mj,j])
此循环在每列的行索引列表上生成一个和,每列的行索引不同方法#1
用于一次性生成所有的Lr[Mj,j],沿行求和,然后使用Lc执行加法-
B = Lr[Nodes, np.
假设我有一个像
a = np.arrray([[2, 3], [6, np.nan]])
以下两者之间的区别是什么:
a = np.nan_to_num(a)
np.sum(a)
只是:
np.nansum(a)
结果在任何情况下都是不同的还是等效的?不是完整的答案,但可能是指向一个答案的指针:源代码是:
源链接来自上的每个函数的页面。您能给出一些代码示例来说明您怀疑的等效方法吗。。。请澄清。假设我得到一个numpy数组,比如a=np.arrray([[2,3],[6,np.na
我正在尝试将numpy安装到Py3 virtualenv中,但我遇到了这个错误(在导入时):
我使用的是最新的archlinux,numpy可以很好地与CPython配合使用,但我有一个使用pandas(这取决于numpy)的项目,我需要在pypy上进行测试
我首先尝试了推荐的方法(pip-install-numpy在venv中),但没有成功。(安装很好,但执行时仍然存在相同的错误)
然后,我尝试了建议的(链接自),因为我没有安装ATLAS(我不想安装arch上的aur包),尝试使用OpenBi
Numpy提供了一种使用偏移从单个元素创建对角线矩阵的方法。现在,我有一个由2*2个块组成的列表,这些块不是单个元素,而是沿着对角线以指定的偏移量插入。
下面是11个2*2阵列块,应沿24*24矩阵的+1偏移量进行拟合。我知道scipy.linalg.block_diag可以为零(隐式)偏移创建块对角线
通常,我有一个2*2块数组的列表,我想沿着主2*2块对角线的指定偏移插入这些块
[array([[ 1, 8],[ 5, 40]]), array([[ 2, 7],[10, 35]]),
我想计算和(e-λλI/I!)其中I=197,。。。,∞ 和λ=421.41使用scipy
我浏览了scipy.stats.poisson的scipy文档,可以在
然而,他们有多种方法用于scipy.stats.poisson,在选择最适合我的方法时有点困惑
e、 g
目前,我使用的是sf(197421.41,loc=0)。然而,我不太确定我是否选择了正确的方法。请让我知道你的想法
如果需要,我很乐意提供更多细节。指数因子(e-λλI/I!)是泊松分布的概率密度(质量)函数,而总和是累积概率(分
我正在使用阿拉伯语Bert并将我的训练数据集作为批传递,我得到的错误消息是,不能将张量视为numpy数组,但不能使用detach()将其分离到numpy。numpy()
但它产生了:
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py:571 train_function *
outputs = self.distribute_strategy.run(
<ipytho
标签: Numpy
filteringfftnoisenoise-generator
我想创建两个随机噪声信号,采样频率为2.5G sa/s,频率范围为200kHz-20Mhz,信号时间为5us,并计算其fft,但我在fft方面有问题。谢谢你的帮助,代码是
import numpy as np
import matplotlib.pyplot as plot
from scipy import signal
from scipy import fft
import pandas as pd
t = np.arange(0, 5e-6, 4e-10)
s1 = 1
我想在均匀矩阵中添加噪声,我使用的代码如下:
import numpy as np
s = np.random.default_rng(100).normal(10,5,512*512)
s2 = np.reshape(s, (512,512))
s2 =s2+11*np.ones((515,512))
它给出了以下错误:
ValueError: operands could not be broadcast together with shapes (512,512) (515,512
我是python新手,我正在尝试可视化一个.txt文件。我试着用NumPy数组来可视化它。我已经成功地使用matplotlib并对其进行了打印,但我想尝试以其自身的高质量对其进行正常可视化,而无需打印或将其转换为图像格式,因为它会将值更改为0-255。这些值不是像素值,而是亮度值。我怎样才能做到呢?非常感谢您的帮助。事先非常感谢你
ROWS = 1392
COLS = 1040
file = open('filename')
data = pd.read_table(file,
有没有一种方法可以在Cython中稍后将指针移动到n字节
例如,如果我有(伪代码):
在最后一行,我得到“+”(void*;void*)的错误无效操作数类型,告诉我它不知道如何添加指针地址ary和指针八字节。这似乎应该是显而易见的,但是在手册或八月的参考文献中找不到任何东西。C和C++标准不允许< < > > P > 空白> /COD>算术。
如果要执行此操作,需要将指针转换为char*类型
有关更多信息,请查看和。使用这种指针强制转换(也包括填充和对齐)时要非常小心。我能够做我需要做的事情
c
标签: Numpy
shared-librariescpython
在Eclipse中,当我将鼠标悬停在sin函数上时,它会将我指向以下“共享对象”文件
_multiarray_umath.cpython-38-darwin.so
但是,当我在单独的选项卡中打开文件时,文件难以辨认。人们会推荐什么来查看文件的内容,比如有许多有用示例的*.py核心文件?你到底想不想那样做
提前感谢。这是编译后的代码。它不是为了让人可读。在开发存储库中,您可能会找到相应的c源代码,但这需要大量挖掘。但是像np.sin这样的函数确实有文档(“文档”)。。。。。。非常感谢。
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 75 页