我是Python的新手,我正在尝试将数据写入一个CSV文件的矩阵中。该变量被定义为:
(Pdb) trainFeatures
<1562936x312116 sparse matrix of type '<type 'numpy.float64'>'
with 43753231 stored elements in Compressed Sparse Row format>
我有一行代码:
numpy.savetxt("feature_train.csv", trainFeatures, delimiter=',&
为什么当numpy数组是向量时,设置工作,而dtype被隐式转换为浮点数,但是当numpy数组是矩阵时,设置工作,但dtype仍然是int。这里有一个演示脚本来说明这个问题。
import numpy as np
# successfully sets / converts
x = np.array([100, 101])
c = -np.max(x)
x += c
print 'before', x.dtype
x = np.exp(x)
print 'after', x.dtype
print x
# doesn't successfully
result = [[sum(a*b for a,b in zip(matrix1_row,matrix2_col)) for matrix2_col in zip(*matrix2)] for matrix1_row in matrix1]
outf = open("multimatrix.txt", "w")
outf.write(str(result)[1:-1])
outf.close() 这在输出文件中给出了1750,1029,2252,754,我希望它看起来像这样 1750 1029 2252 754 我猜是因为我做矩阵乘法的方式,但是我
我正在尝试在Python中使用与Golang一起创建库。但是我有一个问题:我不能传递numpy数组去函数。请帮我解决问题。
我的代码:
main.go:
package main
import "C"
import "fmt"
type Matrix [][] int
//export Mass
func Mass(data Matrix) int {
var sum int=0
for i, x:= range data {
for j, _ := range x {
sum+=data[i][j]
}
}
我试图获取一个加权的networkx图,并将其转换为一个edgelist .txt文件,其中每一行都以三个空格分隔的数字的形式表示起始节点、结束节点和相应的权重。
下面是我所尝试的一个简单的七节点加权无向图:
import networkx as nx
import numpy as np
A = np.matrix([[0,7,7,0,0],[7,0,6,0,0],[7,6,0,2,1],[0,0,2,0,4],
[0,0,1,4,0]])
G = nx.from_numpy_matrix(A)
nx.write_edgelist(G, "weighted_test_e
我正在尝试使用Python的multiprocessing.Pool模块来优化我的代码,但是我并没有得到我在逻辑上期望的加速结果。
我所做的主要方法是计算大量向量和固定的大稀疏矩阵的矩阵向量积。下面是一个玩具例子,它执行我需要的,但使用随机矩阵。
import time
import numpy as np
import scipy.sparse as sp
def calculate(vector, matrix = None):
for i in range(50):
v = matrix.dot(vector)
return v
if __name__
我有一个包含2列的CSV文件。我想在字典中存储第一列作为键,第二列作为值,并将其存储为输出文件。
import math
import numpy
import csv
from decimal import *
#opening Result file with
open('output.csv','rb') as file:
contents = csv.reader(file)
#storing content of Result file in matrix
matrix = list()
for row in contents:
我正在使用csv文件,并尝试获取信息来制作图形。一切看起来都很正常,直到我尝试绘制散点图,它给我的错误是它不能将字符串转换为浮点数。
matrix=[]
doors= []
import csv
with open('9car.data.csv') as csvfile:
M=csv.reader(csvfile, delimiter=',')
for row in M:
rowlist= [x for x in row]
matrix.a
抱歉,这个问题出现在这里之前,Setting two arrays equal,但是解决方案不起作用,我不知道为什么。 import numpy as np
zero_matrix = np.zeros((3,3)) # 3x3 zero matrix
test_matrix = zero_matrix[:] # test_matrix is a view of zero_matrix. Without [:] it would be same object
print (zero_matrix)
print ()
print (test_matrix)
print ()
print(i
需要帮助,我正在尝试使用OpenCL在我的图形处理器上执行矩阵乘法。结果似乎非常错误,但矩阵的维数是正确的。我不确定是否发生了一些错误的指针问题。请帮帮忙。 在int和float上尝试过(应该没关系),但都失败了。 import pyopencl as cl
import numpy as np
import numpy.linalg as la
import datetime
import os
os.environ['PYOPENCL_COMPILER_OUTPUT'] = '1'
def openCL_multiplication(matrix1, m
我有以下代码:
for filename in os.listdir('/home/ripperflo/Downloads/nightlight_geotiffs'):
if filename.endswith('.tif'): # take TIFF-files only
with rasterio.open(os.path.join('/home/ripperflo/Downloads/nightlight_geotiffs', filename)) as f: # open G
我试图找到一个解决方案来找到一个矩阵的所有列排列。所以我写了这段代码,但它不能工作。 已解决: #! python
import numpy
def permutation(matrix):
if numpy.size(matrix,1) == 1:
return [matrix]
#empty list
m=[]
# Iterate the input(matrix) and calculate the permutation
for i in range(numpy.size(matrix,1)):
co
我有一个包含m x n双邻接矩阵的csv文件。它是这样导出的:
numpy.savetxt("file.csv", biadjacency_matrix, ...)
现在我必须导入矩阵,但要努力找到正确的函数/方法。
我尝试了以下几种方法:
numpy_data = numpy.loadtxt(...)
nx.from_numpy_matrix(numpy_data)
但是get:
Input is not a correct numpy matrix or array.
这是有意义的,因为矩阵不是n×n。
有没有简单的方法来导入biadjacency_matrix?
谢谢你的
我使用的是python 2.7。我尝试在文件中存储2d数组,但它只存储最近的值。假设我为3个数组输入了4行2列的值,那么它只存储我为上一个数组输入的最近的单个值。我使用numpy来获取数组的输入。我试过这段代码:
import numpy as np
from math import *
def main ():
i_p = input("\n Enter number of input patterns:")
out = raw_input("\n Enter number of output nodes:")
hidden = ra
作为一个小练习,在我开始使用python中的数字代码之前,我正在尝试创建一个LDLT算法。只是为了“把脚弄湿”。
然而,我似乎对numpy数组缺乏基本的理解。请参见以下示例:
def ldlt(Matrix):
import numpy
(NRow, NCol) = Matrix.shape
for col in range(NCol):
Tmp = 1/Matrix[col,col]
for D in range(col+1, NCol):
Matrix[col,D] = Matrix[D,col]*Tmp
我试图用numpy对代码进行矢量化,以便使用多进程运行它,但我不明白numpy.apply_along_axis是如何工作的。这是代码的一个示例,使用map进行矢量化。
import numpy
from scipy import sparse
import multiprocessing
from matplotlib import pyplot
#first i build a matrix of some x positions vs time datas in a sparse format
matrix = numpy.random.randint(2, size = 100).a
我想把一个矩阵写到.js文件中。当我使用console.log(矩阵)时,一切都很好,但是当我把它写到文件中时,结果就不一样了。
var fs = require("fs");
var matrix = new Array(10);
for(var i=0;i<matrix.length;i++) matrix[i]=[];
for (var i = 0; i < 100 ; i++)
{
var n = i%10;
matrix[n].push(i);
}
console.log(matrix);
//write it as a
我试图使用这个包来处理一个包含39568行和27519列的术语文档矩阵csv文件,其中只包含计数/自然数。
问题:我正在用我的方法获得一个MemoryError,用于读取文件并将其存储到一个numpy数组中。
目标:从TDM文件中获取数字,并将其转换为numpy数组,这样我就可以使用numpy数组作为lda的输入。
with open("Results/TDM - Matrix Only.csv", 'r') as matrix_file:
matrix = np.array([[int(value) for value in line.strip().
这看起来应该很简单,但我想不出来。
数据源是一个两列,逗号分隔的输入文件,内容如下:
6,10
5,9
8,13
...
我的代码是:
import numpy as np
data = np.loadtxt("data.txt", delimiter=",")
m = len(data)
x = np.reshape(data[:,0], (m,1))
y = np.ones((m,1))
z = np.matrix([x,y])
这给了我一个错误:
Users/acpigeon/.virtualenvs/ipynb/lib/python2.7/site-pa
我正在试着写一个程序,打开一个只有行和列的数字的文本文件,将它们保存在一个新文件中。我选择列的部分有效,而行的部分无效。我必须选择满足条件x> 10e13的行(其中x是特定列中的值)。这是我写的代码:
import numpy as np
matrix = np.loadtxt('file.dat')
#select columns:
column_indecies = [0]
selected_columns = matrix[:,column_indecies]
x=10E13
#select lines:
for line in matrix:
i
import numpy as np
import scipy.sparse as scsp
from scipy.sparse import csr_matrix,lil_matrix
# create an empty numpy matrix
wi=np.empty((num_clusters*num_cluster_neurons, input))
for i in range(num_clusters*num_cluster_neurons):
temp_neuron_prob=dic_cluster_prob[dic_neuron_cluster[
在我的代码中,我试图定义一个动态数组,改变行数和列数,这取决于函数中的新条件,这意味着我可能会添加更多的行或列。我试图制作二维指针数组,我希望能够将这个二维指针数组作为参数传递给函数。
这是我代码的一小部分:
更新: test.pyx
from libc.string cimport memset
import numpy as np
cimport numpy as np
cimport cython
from cython.view cimport array as cvarray
from libc.stdlib cimport malloc, free
from libc.math c
我是Python的新手。我在做矩阵乘法时遇到了麻烦。我有两个列表:
A =[3.0,3.0]
# 1 by 2 matrix
B =[[ 50.33112583, -49.66887417],
[-49.66887417, 50.33112583]]
# 2 by 2 matrix
Result should be :
# 1 by 2 matrix
c = [1.9867549668874176, 1.986754966887446]
Right now