数组

#数组#

已有1人关注此标签

内容分类

小白dora

请问PG里没有没有倒转一个数组的函数?或者哪位能不写存储过程,用一个SQL语句完成这个功能?

请问PG里没有没有倒转一个数组的函数?或者哪位能不写存储过程,用一个SQL语句完成这个功能? 本问题来自云栖社区【PostgreSQL技术进阶社群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。

宋淑婷

自定义按另一个字符串数组排序字符串数组 - Ruby

我有一个目前按字母顺序排序的数组,我正在尝试按字符串的手动顺序对其进行排序。 当前代码: list = ["gold","silver","bronze","steel","copper"] list = list.sort { |a, b| a <=> b }我想要实现的目标:(以空白条目作为分隔符) list = ["gold","silver","bronze","steel","copper"] sort_order = ["bronze","silver","gold","","copper","steel"] list = list.sort_by sort_order输出:青铜| 银| 金| - | 铜| 钢 这可能吗?目前卡住这些错误消息: comparison of Integer with nil failedcomparison of String with String failed

李博bluemind

PHP操作MongoDB,怎么把一个集合转为数组?

使用MongoDB PHP Library来操作mongodb数据库,https://docs.mongodb.com/php-...从MongoDB查询出来的是一个集合,我想把它转为数组,应该怎么做呢? 比如下面这个示例,我想把$cursor转为数组: $collection = (new MongoDB\Client)->test->zips; $cursor = $collection->find(['city' => 'JERSEY CITY', 'state' => 'NJ']); foreach ($cursor as $document) { echo $document['_id'], "\n"; }

社区小助手

有哪位遇到过这个问题,没搞明白是哪里的数组越界了

有哪位遇到过这个问题,没搞明白是那里的数组越界了

python小能手

如何用广播计算多维数组?

我通过双for循环计算元素如下。 N,l=20,10a=np.random.rand(N,l)b=np.random.rand(N,l)r=np.zeros((N,N,l)) for i in range(N): for j in range(N): r[i,j]=a[i]*a[j]*(b[i]-b[j])-a[i]/a[j] 题: 如何对阵列进行矢量化并通过广播进行计算? 我还想设置索引i不等于j,这意味着将对角元素保留为零。我也可以通过矢量化来做到这一点吗?

python小能手

Python使用集成绘制函数

import matplotlib.pyplot as plt from scipy import integrate import numpy as np def g(t): g_value= integrate.quad (t,0,t) return (g_value) def f(t): f_value = t**3 - g(t) return (f_value) t1 = np.arange (-5, 5, 0.1) plt.figure(1) plt.subplot(211) plt.plot(t1, f(t1)) plt.show()在这里,它是我得到的错误消息:“ValueError:具有多个元素的数组的真值是不明确的。使用a.any()或a.all()”

李博bluemind

"[{\"attachId\":192659811086528512}]"怎么把这个json数组中的id变为字符串

3."[{"attachId":192659811086528512}]"怎么把这个json数组中的id变为字符串"[{"attachId":"192659811086528512"}]"要这种形式

python小能手

将2D数据分组为x,y中的重叠圆圈

我目前正在处理一个相当大的3D点数据集(x,y,z),并想要一种有效的方法来识别xy平面中一组圆内的哪些点,半径为r和中心(x1,y1) ),其中x1和y1是网格坐标(每个长度为120)。圆圈将重叠,某些点将属于多个圆圈。 因此,输出将是14400个圆(120 * 120)的标识,并且(x,y,z)列表中的哪个点在每个圆中。 import numpy as np def inside_circle(x, y, x0, y0, r): return (x - x0)*(x - x0) + (y - y0)*(y - y0) < r*r x = np.random.random_sample((10000,))y = np.random.random_sample((10000,)) x0 = np.linspace(min(x),max(x),120)y0 = np.linspace(min(y),max(y),120) idx = np.zeros((14400,10000))r = 2count = 0 for i in range(0,120): for j in range(0,120): idx[count,:] = inside_circle(x,y,x0[i],y0[j],r) count = count + 1 其中inside_circle是一个函数,它为半径为r的圆中的每个测试点x,y,z给出一个布尔值为True或False的数组,其中心为x0 [i]和x0 [j] 我的主要问题是,是否有一种比嵌套for循环更有效的方法?

python小能手

如何将4维数组转换为2维,并在python中保存为csv

我有一个四维阵列的形状 (1, 2000, 102, 32) 我想把它转换为(64000,102)64000是基于(2000 * 32)。 然后将其存储在csv文件中。

python小能手

Python创建一个街道地址表

我在线执行不同的任务。目标是在不依赖外部库的情况下完成很多工作。 今天我不能做的一项任务就是这一项: 给定街道名称和用户提供的编号,创建user_provided_number列表并输出街道名称。然后,在同一个表中创建相同的输出但反转街道地址。街道地址之间的空格应替换为“|”。如果街道名称太短而无法完成行,则渲染“?” 每个剩余的空间。 场景示例: 街道地址:Mystreet路,用户提供的号码:6 预期产量: M y s t r ee t | r o ad | d a o r| t e e r ts y M ? ? ? 到目前为止,我设法做了以下事情: strAddress = input("What's your street address?")givenNumber = input("What's your favourite number from 1 to 10?")reverseAddress = strAddress[::-1]splitAddress = list(strAddress)for row in range(0,int(len(strAddress)/givenNumber)): for element in range(0,givenNumber): print (splitAddress[element], end=' ') print() 为什么这个“数组”(?)在每一行上打印相同的元素?假设用户提供了“4”作为他们的号码,从我写的代码中我预期输出如下: M y s tr e e t r o ad 但输出是: M y s tM y s tM y s t

python小能手

用np.tile生成(n,1,2)数组

我想创建n次(1,2)数组,每个数组应该具有相同的元素。首先,我生成n次1 D数组然后我使用循环迭代这些元素并重复每个元素以填充(n,1,2)数组。我的代码如下: import numpy as np def u_vec(): return np.array([np.random.rand(1)]) n=10u1 = np.zeros(n) for i in range(n): u1[i] = u_vec() print(u1) def u_vec1(): u_vec = np.zeros((n, 2,1)) for i in range(len(u1)): u_vec[i] += np.tile(u1[i], (2,1)) return u_vec u = u_vec1()print(u)我得到的输出是 [0.4594466 0.80924903 0.3186138 0.03601917 0.9116031 0.68199505 0.78999837 0.33778259 0.97626521 0.84925156] [[[0.4594466 0.4594466]] [[0. 0. ]] [[0. 0. ]] [[0. 0. ]] [[0. 0. ]] [[0. 0. ]] [[0. 0. ]] [[0. 0. ]] [[0. 0. ]] [[0. 0. ]]]我不明白为什么只有第一个元素被填充,而其他元素被填充为零。我想要的输出 [[[0.4594466 0.4594466]] [[0.3186138 0.3186138]] [[ 0.03601917 0.03601917]] [[ 0.9116031 0.9116031 ]] [[0.68199505 0.68199505]] [[0.78999837 0.78999837]] [[0.33778259 0.33778259]] [[0.97626521 0.97626521]] [[0.84925156 0.84925156]]]]

python小能手

迭代数组并对元素进行计算

我有一个数组,我想在迭代它时对特定元素求和。我很难找到一种方法来循环。阵列形状为(25,25) array [ 92843, 86851, 91950, 98232, 83329, 94591, 88962, 97020, 107113, 98452, 103242, 106442, 123032, 119063, 112971, 114715, 108654, 114856, 109872, 124583, 120518, 112815, 120780, 127831, 147174], [132633, 124073, 131357, 140331, 119041, 135131, 127089, 138601, 153019, 140647, 147489, 152061, 175761, 170090, 161388, 163879, 155221, 164080, 156960, 177976, 172169, 161165, 172544, 182617, 210249], [159159, 148887, 157629, 168397, 142849, 162157, 152507, 166321, 183623, 168776, 176986, 182473, 210913, 204108, 193665, 196655, 186265, 196896, 188352, 213571, 206602, 193398, 207052, 219140, 252298] 我想为每次迭代打印出如下所示的结果 print(array23+array23) # 159159 + 148887 = 308046print(array22+array22+array22) #132633 + 124073 + 131357 = 388063print(array21+array21+array21+array21) # 92843 + 86851 + 91950 + 98232 = 369876 arrayi正如您在每次迭代中看到的那样,将每个元素呈现为i - 1,并且j的“长度”增加了一个。无论如何我可以使用循环来完成这项任务吗?

python小能手

交换二进制数列表,但只有x长度

我在简化脚本方面遇到了困难。我目前生成的具有所有可能组合的数组列表(给定二进制字符串中的位数),消除了它们的组合值超过我需要交换的位数的列表,然后生成其绝对减去的列表值。 例如: 如果我提供'101'它将创建列表: [1,0,1] 然后它会询问我想要交换多少。如果我说'2' 它将花费原始列表的长度(3),并为该长度生成所有可能的二进制组合: (0,0,00,1,01,1,00,1,1) 然后它将消除组合值不等于'2'的那些: (1,1,0[0,1,1]) ,从原始列表中减去它们的值,取绝对值,给我: (0,1,1[1,1,0])

python小能手

在numpy数组中映射值

我如何从2D numpy数组中获取,我只有三个不同的值:-1,0和1,并将它们映射到颜色red(255,0,0),green(0,255,0)和blue(255,0, 0)?阵列非常大,但为了让你知道我在寻找什么,想象一下我有输入 array([[ 1, 0, -1], [-1, 1, 1], [ 0, 0, 1]]) 我想要输出: array([[(0, 0, 255), (0, 255, 0), (255, 0, 0)], [(255, 0, 0), (0, 0, 255), (0, 0, 255)], [(0, 255, 0), (0, 255, 0), (0, 0, 255)]]) 我可以循环并有条件,但我想知道是否有一个或两个班轮使用lambda函数可以实现这一点?

python小能手

从多个对象的数组中读取值(JSON)

我尝试使用python构建HTTP-API。我有一个JSON格式的对象数组。我想读取其中一个对象的值。 在我的python脚本中,我将数据库表附加到对象数组。我正在寻找一种解决方案来选择其中一个对象中的单个值。 我有一个功能: cur.execute()row_headers=[x[0] for x in cur.description]response = cur.fetchall()json_data=[]for result in response: json_data.append(dict(zip(row_headers,result))) return jsonify(json_data)回报看起来像: [ { "ID": 123, "CODE": 4117, "STATUS": "off", }, { "ID": 345, "CODE": 5776, "STATUS": "on", } ]我正在寻找一个函数(inputID): where ID = inputIDset currentcode = set currentstatus =

python小能手

OpenCV numpy矩阵框架用零填充

我最近在Windows上使用Python 3.5.4下载了openCV 3.4.5。 我运行了这段基本代码来显示视频: import cv2 cap = cv2.VideoCapture(0) while(True): # Capture frame-by-frame ret, frame = cap.read() print(frame) # Display the resulting frame cv2.imshow('frame', frame) if cv2.waitKey(1) & 0xFF == ord('q'): break # When everything done, release the capturecap.release()cv2.destroyAllWindows()我的笔记本电脑的网络摄像头显示了一段视频。请注意,我从视频中打印每个帧,但在我的控制台输出中,每个numpy数组都用零填充。我不明白为什么会这样,因为视频正在运行 示例控制台输出 [[[0 0 0] [0 0 0] [0 0 0] ... [0 0 0] [0 0 0] [0 0 0]] [[0 0 0] [0 0 0] [0 0 0] ... [0 0 0] [0 0 0] [0 0 0]] [[0 0 0] [0 0 0] [0 0 0] ... [0 0 0] [0 0 0] [0 0 0]] ...

python小能手

将图像保存为numpy数组

我无法将图像加载到numpy数组并得到这样的错误... ValueError:无法将形状(175,217,3)的输入数组广播为形状(100,100,3) 功能代码: import cv2import numpy as npimport os train_data_dir = '/home/ec2-user/SageMaker/malaria-detection-model/malaria/training'valid_data_dir = '/home/ec2-user/SageMaker/malaria-detection-model/malaria/validation' # declare the number of samples in each categorynb_train_samples = 22045 # training samplesnb_valid_samples = 5513# validation samplesnum_classes = 2img_rows_orig = 100img_cols_orig = 100 def load_training_data(): labels = os.listdir(train_data_dir) total = len(labels) X_train = np.ndarray((nb_train_samples, img_rows_orig, img_cols_orig, 3), dtype=np.uint8) Y_train = np.zeros((nb_train_samples,), dtype='uint8') i = 0 j = 0 for label in labels: image_names_train = os.listdir(os.path.join(train_data_dir, label)) total = len(image_names_train) print(label, total) for image_name in image_names_train: img = cv2.imread(os.path.join(train_data_dir, label, image_name), cv2.IMREAD_COLOR) img = np.array([img]) X_train[i] = img Y_train[i] = j if i % 100 == 0: print('Done: {0}/{1} images'.format(i, total)) i += 1 j += 1 print(i) print('Loading done.') np.save('imgs_train.npy', X_train, Y_train) return X_train, Y_train 此函数是文件load_data.py的一部分,可以在以下位置的malaria_cell_classification_code.zip文件中找到: https://ceb.nlm.nih.gov/repositories/malaria-datasets/ 我试图将X_train和Y_train更改为list而不是numpy数组。该函数在np.save方法停止。 X_train = Y_train = list() X_train.append(img) Y_train.append(j) 在numpy中保存图像的正确和标准方法是什么? 调整图像大小后,我得到不同的错误: Done: 19400/9887 imagesDone: 19500/9887 imagesDone: 19600/9887 imagesDone: 19700/9887 imagesDone: 19800/9887 images19842Loading done.Transform targets to keras compatible format.Done: 19800/9887 images19842Loading done. Transform targets to keras compatible format. Creating validation images... Parasitized 1098 error Traceback (most recent call last) in () 2 #load data for training 3 X_train, Y_train = load_resized_training_data(img_rows, img_cols) ----> 4 X_valid, Y_valid = load_resized_validation_data(img_rows, img_cols) 5 #print the shape of the data 6 print(X_train.shape, Y_train.shape, X_valid.shape, Y_valid.shape) ~/SageMaker/malaria-detection-model/malaria_cell_classification_code/load_data.py in load_resized_validation_data(img_rows, img_cols) 103 def load_resized_validation_data(img_rows, img_cols): 104 --> 105 X_valid, Y_valid = load_validation_data() 106 107 # Resize images ~/SageMaker/malaria-detection-model/malaria_cell_classification_code/load_data.py in load_validation_data() 75 76 img = np.array([img]) ---> 77 img2 = cv2.resize(img, (100, 100)) 78 X_valid[i] = img2 79 Y_valid[i] = j error: OpenCV(4.0.0) /io/opencv/modules/imgproc/src/resize.cpp:3427: error: (-215:Assertion failed) !dsize.empty() in function 'resize' Creating validation images... Parasitized 1098 error Traceback (most recent call last) in () 2 #load data for training 3 X_train, Y_train = load_resized_training_data(img_rows, img_cols) ----> 4 X_valid, Y_valid = load_resized_validation_data(img_rows, img_cols) 5 #print the shape of the data 6 print(X_train.shape, Y_train.shape, X_valid.shape, Y_valid.shape) ~/SageMaker/malaria-detection-model/malaria_cell_classification_code/load_data.py in load_resized_validation_data(img_rows, img_cols) 103 def load_resized_validation_data(img_rows, img_cols): 104 --> 105 X_valid, Y_valid = load_validation_data() 106 107 # Resize images ~/SageMaker/malaria-detection-model/malaria_cell_classification_code/load_data.py in load_validation_data() 75 76 img = np.array([img]) ---> 77 img2 = cv2.resize(img, (100, 100)) 78 X_valid[i] = img2 79 Y_valid[i] = j error: OpenCV(4.0.0) /io/opencv/modules/imgproc/src/resize.cpp:3427: error: (-215:Assertion failed) !dsize.empty() in function 'resize'完整的脚本可以在这里找到...... https://gist.github.com/shantanuo/cfe0913b367647890451f5ae3f6fb691

python小能手

如何将提取的特征传递给keras模型?

我从csv文件中提取了一系列图像的功能以及它们的标签 data = pandas.read_csv("data.csv", delimiter=',', dtype=str)for index, row in data.iterrows(): img = image.load_img(row['image_path'], target_size=(img_width, img_height)) trainImage = image.img_to_array(img) trainImage = np.expand_dims(trainImage, axis=0) 如何在上述循环中保存trainImages并trainLabels进入相应的数组以传递给模型 trainLabels = np_utils.to_categorical(trainLabels, num_classes)model.fit(trainImages, trainLabels, nb_epoch=3, batch_size=16)

python小能手

Java中这个Python列表的等价性是什么样的?

我正在尝试学习Java,更具体地说,我正在尝试学习使用数组和列表时的一些差异。现在我正试图了解如何list += [i]*i 在Java中实现这一行。 Sum = 5000list = [0, 0]x = 1while len(list) < Sum: list += [x]*x x += 1 我尝试了很多不同的方法,但我似乎无法找到方法。我用Java尝试的方法得到的结果都是错误的。