在另一个问题中,如果我可以提供我遇到问题的阵列,其他用户会提供一些帮助.但是,我甚至在基本的I/O任务中失败,例如将数组写入文件.
任何人都可以解释我需要将4x11x14 numpy数组写入文件需要什么样的循环?
这个数组包含四个11 x 14数组,所以我应该用一个漂亮的换行符来格式化它,以便在其他数据上更容易读取文件.
编辑:所以我尝试了numpy.savetxt函数.奇怪的是,它给出了以下错误:
TypeError: float argument required, not numpy.ndarray
Run Code Online (Sandbox Code Playgroud)
我假设这是因为该函数不适用于多维数组?我想在一个文件中找到任何解决方案吗?
我想知道,如何numpy.array正确保存和加载数据.目前我正在使用该numpy.savetxt()方法.例如,如果我有一个数组markers,看起来像这样:

我尝试通过以下方式保存它:
numpy.savetxt('markers.txt', markers)
Run Code Online (Sandbox Code Playgroud)
在其他脚本中,我尝试打开以前保存的文件:
markers = np.fromfile("markers.txt")
Run Code Online (Sandbox Code Playgroud)
这就是我得到的......

保存的数据首先如下所示:
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
Run Code Online (Sandbox Code Playgroud)
但是当我通过使用相同的方法保存刚加载的数据时,即.numpy.savetxt()它看起来像这样:
1.398043286095131769e-76
1.398043286095288860e-76
1.396426376485745879e-76
1.398043286055061908e-76
1.398043286095288860e-76
1.182950697433698368e-76
1.398043275797188953e-76
1.398043286095288860e-76
1.210894289234927752e-99
1.398040649781712473e-76
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?PS我没有其他"后台"操作.只需保存和加载,这就是我得到的.先感谢您.
我试图通过以下方式将numpy.array保存到.csv.
with open("resultTR.csv", "wb") as f:
f.write(b'ImageId,Label\n')
numpy.savetxt(f, result, fmt='%i', delimiter=",")
Run Code Online (Sandbox Code Playgroud)
结果是numpy.array,它由两列组成,第一列是索引(数字1到n),第二列是(0,9).
不幸的是,我有问题,只要第二列中有0,那么在第二列中没有任何内容写入生成的.csv文件.
换句话说,前五行数组如下所示:
[[ 1.00000000e+00 2.00000000e+00]
[ 2.00000000e+00 0.00000000e+00]
[ 3.00000000e+00 9.00000000e+00]
[ 4.00000000e+00 9.00000000e+00]
[ 5.00000000e+00 3.00000000e+00]
Run Code Online (Sandbox Code Playgroud)
前五行的.csv文件如下:
ImageId,Label
1,2
2
3,9
4,9
5,3
Run Code Online (Sandbox Code Playgroud)
它看起来像我的代码应该工作,因此不保存零似乎在我看来非常奇怪.有没有人知道我的代码写入.csv文件可能有什么问题?
编辑:
仅仅为了完成我的python版本是2.7.2并且它在Mac OS X 10.9.2上运行
我必须在5x5数组中打印这个python代码,数组应如下所示:
0 1 4 (infinity) 3
1 0 2 (infinity) 4
4 2 0 1 5
(inf)(inf) 1 0 3
3 4 5 3 0
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我打印这张桌子吗?使用指数.
for k in range(n):
for i in range(n):
for j in range(n):
if A[i][k]+A[k][j]<A[i][j]:
A[i][j]=A[i][k]+A[k][j]
Run Code Online (Sandbox Code Playgroud) 我创建了一个numpy数组如下:
import numpy as np
names = np.array(['NAME_1', 'NAME_2', 'NAME_3'])
floats = np.array([ 0.1234 , 0.5678 , 0.9123 ])
ab = np.zeros(names.size, dtype=[('var1', 'U6'), ('var2', float)])
ab['var1'] = names
ab['var2'] = floats
Run Code Online (Sandbox Code Playgroud)
值ab如下所示:
array([(u'NAME_1', 0.1234), (u'NAME_2', 0.5678), (u'NAME_3', 0.9123)],
dtype=[('var1', '<U6'), ('var2', '<f8')])
Run Code Online (Sandbox Code Playgroud)
当我尝试ab使用savetxt()命令保存为.csv文件时,
np.savetxt('D:\test.csv',ab,delimiter=',')
Run Code Online (Sandbox Code Playgroud)
我得到以下错误
Run Code Online (Sandbox Code Playgroud)--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-66-a71fd201aefe> in <module>() ----> 1 np.savetxt('D:\Azim\JF-Mapping-workflow-CRM\Backup\delete.csv',ab,delimiter=',') c:\python27\lib\site-packages\numpy\lib\npyio.pyc in savetxt(fname, X, fmt, delimiter, newline, header, footer, comments) 1256 raise TypeError("Mismatch …
我正在尝试将2D numpy数组写入CSV文件我试过这个:
import csv
import numpy as np
w = csv.writer(open('main.csv','w'))
Nlayers=23
N=364
TempLake=np.zeros((N,Nlayers))
for i in xrange(N-1):
TempLake[i+1]=TempLake[i]+100
w.writerow(TempLake)
outfile = open('main.csv', 'w')
writer = csv.writer(outfile)
ar=np.array(TempLake)
for row in TempLake:
writer.writerow(row)
outfile.close()
Run Code Online (Sandbox Code Playgroud)
为什么有些行仍然有引号?谢谢
#df
index a b c
1 2 3 4
2 3 4 5
Run Code Online (Sandbox Code Playgroud)
df[["a","c"]] # 但是索引没有。也来了,那么如何去掉索引号呢?
我在 keras 中编写了一个自定义层。在这个自定义层的一部分中,可以说我有一个这样的矩阵:
c = tf.cast(tf.nn.top_k(tf.nn.top_k(n, tf.shape(n)[1])[1][:, ::-1], tf.shape(n)[1])[1][:, ::-1], dtype=tf.float32)
Run Code Online (Sandbox Code Playgroud)
我的问题是如何跟踪每个时期的结果值?
例如,如果我有 20 个纪元,我需要将这个矩阵的 20 个保存在一个csv文件中。
(我知道如何保存模型的权重,但这是中间层操作的结果,我需要跟踪这个矩阵)。
我做了什么:
这是我的层的结构:
class my_layer(Layer):
def __init__(self, topk, ctype, **kwargs):
self.x_prev = None
self.topk_mat = None
def call(self, x):
'blah blah'
def get_config(self):
'blah blah'
def k_comp_tanh(self,x, f=6):
'blah blah'
if self.topk_mat is None:
self.topk_mat = self.add_weight(shape=(20, 25),
initializer='zeros',
trainable=False,
# dtype=tf.float32,
name='topk_mat')
c = tf.cast(tf.nn.top_k(tf.nn.top_k(n, tf.shape(n)[1])[1][:, ::-1], tf.shape(n)[1])[1][:, ::-1], dtype=tf.float32)
self.topk_mat.assign(c)
Run Code Online (Sandbox Code Playgroud)
用于构建模型和拟合数据的代码:
class AutoEncoder(object):
def __init__(self, input_size, dim, comp_topk=None, ctype=None, …Run Code Online (Sandbox Code Playgroud) 当我使用以下内容时:
import pandas as pd
data = pd.read_csv('C:/Users/Z/OneDrive/Python/Exploratory Data/Aramark/ARMK.csv')
x = data.iloc[:,2]
y = pd.unique(x)
y.to_csv('yah.csv')
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
AttributeError: 'numpy.ndarray' object has no attribute 'to_csv'
Run Code Online (Sandbox Code Playgroud) 我有以下代码,可以找到2个图像(或2个视频帧)的光流,并且它是彩色编码的.我想要的是光流的水平和垂直分量(如单独的图像)
这是我到目前为止的代码:
import cv2
import numpy as np
frame1 = cv2.imread('my1.bmp')
frame2 = cv2.imread('my2.bmp')
prvs = cv2.cvtColor(frame1,cv2.COLOR_BGR2GRAY)
next = cv2.cvtColor(frame2,cv2.COLOR_BGR2GRAY)
hsv = np.zeros_like(frame1)
hsv[...,1] = 255
while(1):
next = cv2.cvtColor(frame2,cv2.COLOR_BGR2GRAY)
flow = cv2.calcOpticalFlowFarneback(prvs, next, 0.5, 3, 15, 3, 5, 1.2, 0)
mag, ang = cv2.cartToPolar(flow[...,0], flow[...,1])
hsv[...,0] = ang*180/np.pi/2
hsv[...,2] = cv2.normalize(mag,None,0,255,cv2.NORM_MINMAX)
rgb = cv2.cvtColor(hsv,cv2.COLOR_HSV2BGR)
cv2.imshow('frame2',rgb)
k = cv2.waitKey(30) & 0xff
if k == 27:
break
elif k == ord('s'):
cv2.imwrite('opticalmyhsv.pgm',rgb)
cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
鉴于我的两张图片,这就是光流的样子:

python ×10
numpy ×6
arrays ×3
csv ×3
file-io ×1
keras ×1
opencv ×1
opticalflow ×1
pandas ×1
python-2.7 ×1
python-3.x ×1
tensorflow ×1