คำถามติดแท็ก multidimensional-array

อาร์เรย์หลายมิติสามารถอธิบายได้ว่าเป็นตารางหลายมิติ แต่ละดัชนีที่ใช้เพื่อค้นหาองค์ประกอบที่กำหนดเรียกว่ามิติ

3
อะไรคือความแตกต่างระหว่างฟังก์ชั่นการแบนและ ravel ในแบบ numpy?
import numpy as np y = np.array(((1,2,3),(4,5,6),(7,8,9))) OUTPUT: print(y.flatten()) [1 2 3 4 5 6 7 8 9] print(y.ravel()) [1 2 3 4 5 6 7 8 9] ฟังก์ชั่นทั้งสองกลับรายการเดียวกัน แล้วความต้องการของสองฟังก์ชันที่แตกต่างกันคืออะไรที่ทำหน้าที่เดียวกัน

28
วิธีการเริ่มต้นอาร์เรย์สองมิติใน Python ได้อย่างไร
ฉันเริ่มต้นไพ ธ อนและฉันพยายามใช้รายการสองมิติซึ่งตอนแรกฉันเติมตัวแปรตัวเดียวกันในทุกที่ ฉันมากับสิ่งนี้: def initialize_twodlist(foo): twod_list = [] new = [] for i in range (0, 10): for j in range (0, 10): new.append(foo) twod_list.append(new) new = [] มันให้ผลลัพธ์ที่ต้องการ แต่ให้ความรู้สึกเหมือนเป็นวิธีแก้ปัญหา มีวิธีที่ง่ายกว่า / สั้นกว่า / สวยงามกว่านี้หรือไม่?

29
วิธีการทำให้อาเรย์หลายมิติเรียบ
เป็นไปได้ไหมใน PHP ที่จะขยายอาเรย์แบบสองมิติ (bi / multi) โดยไม่ต้องใช้การเรียกซ้ำหรือการอ้างอิง? ฉันสนใจเฉพาะในค่าดังนั้นกุญแจสามารถปฏิเสธฉันคิดว่าในสายของและarray_map()array_values()

22
in_array () และอาร์เรย์หลายมิติ
ฉันใช้in_array()เพื่อตรวจสอบว่ามีค่าอยู่ในอาร์เรย์เหมือนด้านล่างหรือไม่ $a = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $a)) { echo "Got Irix"; } //print_r($a); แต่สิ่งที่เกี่ยวกับอาร์เรย์หลายมิติ (ด้านล่าง) - ฉันจะตรวจสอบค่านั้นว่ามีอยู่ในหลายอาร์เรย์ได้อย่างไร $b = array(array("Mac", "NT"), array("Irix", "Linux")); print_r($b); หรือฉันไม่ควรใช้in_array()เมื่อมาถึงอาร์เรย์หลายมิติ?



6
ทำความเข้าใจกับ einsum ของ NumPy
ฉันพยายามที่จะเข้าใจอย่างถ่องแท้ว่าeinsumทำงานอย่างไร ฉันได้ดูเอกสารประกอบและตัวอย่างบางส่วนแล้ว แต่ดูเหมือนจะไม่ติด นี่คือตัวอย่างที่เราไปเรียนในชั้นเรียน: C = np.einsum("ij,jk->ki", A, B) สำหรับสองอาร์เรย์AและB ฉันคิดว่ามันน่าจะเกิดA^T * Bขึ้น แต่ฉันไม่แน่ใจ (มันเป็นการเปลี่ยนใจคนหนึ่งใช่ไหม) มีใครบ้างที่จะพาฉันไปพบสิ่งที่เกิดขึ้นที่นี่ (และโดยทั่วไปเมื่อใช้einsum)

4
numpy.newaxis ทำงานอย่างไรและใช้งานเมื่อใด?
เมื่อฉันลอง numpy.newaxis ผลลัพธ์ให้เฟรมพล็อต 2 มิติพร้อมแกน x จาก 0 ถึง 1 อย่างไรก็ตามเมื่อฉันลองใช้numpy.newaxisเพื่อตัดเวกเตอร์ vector[0:4,] [ 0.04965172 0.04979645 0.04994022 0.05008303] vector[:, np.newaxis][0:4,] [[ 0.04965172] [ 0.04979645] [ 0.04994022] [ 0.05008303]] มันเป็นสิ่งเดียวกันยกเว้นว่าจะเปลี่ยนเวกเตอร์แถวเป็นเวกเตอร์คอลัมน์หรือไม่ โดยทั่วไปแล้วการใช้คืออะไรnumpy.newaxisและในสถานการณ์ใดที่เราควรใช้

6
คุณจะได้รับความกว้างและความสูงของอาร์เรย์หลายมิติได้อย่างไร
ฉันมีอาร์เรย์ที่กำหนด: int [,] ary; // ... int nArea = ary.Length; // x*y or total area ทั้งหมดนี้เป็นเรื่องดีและดี แต่ฉันจำเป็นต้องรู้ว่าอาร์เรย์นี้มีความกว้างxและyขนาดแยกกันอย่างไร คือary.Lengthอาจส่งคืน 12 - แต่นั่นหมายความว่าอาร์เรย์มีความสูง 4 และ 3 กว้างหรือ 6 สูงและ 2 กว้าง? ฉันจะดึงข้อมูลนี้ได้อย่างไร

2
ทำไมค่าการแจงนับจากอาร์เรย์หลายมิติจึงไม่เท่ากัน?
พิจารณา: using System; public class Test { enum State : sbyte { OK = 0, BUG = -1 } static void Main(string[] args) { var s = new State[1, 1]; s[0, 0] = State.BUG; State a = s[0, 0]; Console.WriteLine(a == s[0, 0]); // False } } จะอธิบายได้อย่างไร? มันเกิดขึ้นในการตรวจแก้จุดบกพร่องสร้างใน Visual …

13
วิธีสร้างอาเรย์หลายมิติ
ทุกคนสามารถให้ตัวอย่าง / ตัวอย่างของ JavaScript ด้วยอาร์เรย์แบบหลายมิติได้หรือไม่ หวังว่าคุณจะช่วยได้เพราะฉันยังใหม่กับ JavaScript เช่นเดียวกับเมื่อคุณป้อน 2 แถวและ 2 คอลัมน์ผลลัพธ์ของมันจะเป็น 2 แถวของอินพุตและ 2 คอลัมน์ของอินพุต แบบนี้: [input][input] [input][input]

18
เมทริกซ์ขนย้ายใน Python
Наэтотвопросестьответына Stack Overflow нарусском : Поворотматрицы (двумерногомассива) ที่ 90 градусовв Python спомощью zip ฉันกำลังพยายามสร้างฟังก์ชั่นทรานสดิวเซอร์เมทริกซ์สำหรับไพ ธ อน แต่ฉันไม่สามารถใช้งานได้ บอกว่าฉันมี theArray = [['a','b','c'],['d','e','f'],['g','h','i']] และฉันต้องการฟังก์ชั่นของฉันมาด้วย newArray = [['a','d','g'],['b','e','h'],['c', 'f', 'i']] ดังนั้นกล่าวอีกนัยหนึ่งถ้าฉันจะพิมพ์อาร์เรย์ 2D นี้เป็นคอลัมน์และแถวฉันต้องการให้แถวเปลี่ยนเป็นคอลัมน์และคอลัมน์เป็นแถว ฉันทำมาจนถึงตอนนี้ แต่มันใช้งานไม่ได้ def matrixTranspose(anArray): transposed = [None]*len(anArray[0]) for t in range(len(anArray)): for tt in range(len(anArray[t])): transposed[t] = [None]*len(anArray) transposed[t][tt] = …

10
ใช้ numpy เพื่อสร้างอาร์เรย์ของการรวมกันทั้งหมดของสองอาร์เรย์
ฉันพยายามเรียกใช้พื้นที่พารามิเตอร์ของฟังก์ชันพารามิเตอร์ 6 ตัวเพื่อศึกษาพฤติกรรมเชิงตัวเลขก่อนพยายามทำสิ่งที่ซับซ้อนด้วยดังนั้นฉันจึงค้นหาวิธีที่มีประสิทธิภาพในการทำสิ่งนี้ ฟังก์ชั่นของฉันใช้ค่าทศนิยมที่กำหนดให้อาร์เรย์ 6-dim numpy เป็นอินพุต สิ่งที่ฉันพยายามทำในตอนแรกคือ: ก่อนอื่นฉันสร้างฟังก์ชั่นที่ใช้ 2 อาร์เรย์และสร้างอาร์เรย์ที่มีการรวมค่าทั้งหมดจากสองอาร์เรย์ from numpy import * def comb(a,b): c = [] for i in a: for j in b: c.append(r_[i,j]) return c จากนั้นฉันก็ใช้reduce()กับสิ่งนั้นกับสำเนาของอาร์เรย์เดียวกัน: def combs(a,m): return reduce(comb,[a]*m) จากนั้นฉันประเมินฟังก์ชันของฉันดังนี้: values = combs(np.arange(0,1,0.1),6) for val in values: print F(val) ใช้งานได้ แต่มันช้าเกินไป ฉันรู้ว่าพื้นที่ของพารามิเตอร์มีขนาดใหญ่มาก แต่ไม่ควรช้าขนาดนี้ …

25
ตรวจสอบว่าอาร์เรย์มีหลายมิติหรือไม่?
วิธีที่มีประสิทธิภาพมากที่สุดในการตรวจสอบว่าอาร์เรย์เป็นอาร์เรย์แบบแบนของค่าดั้งเดิมหรือเป็นอาร์เรย์หลายมิติได้อย่างไร มีวิธีการทำเช่นนี้โดยไม่วนลูปผ่านอาร์เรย์และทำงานis_array()ในแต่ละองค์ประกอบหรือไม่

11
รับความยาวของอาร์เรย์ของอาร์เรย์ 2 มิติใน Java
ฉันต้องได้ความยาวของอาร์เรย์ 2 มิติสำหรับทั้งแถวและคอลัมน์ ฉันทำสิ่งนี้สำเร็จโดยใช้รหัสต่อไปนี้: public class MyClass { public static void main(String args[]) { int[][] test; test = new int[5][10]; int row = test.length; int col = test[0].length; System.out.println(row); System.out.println(col); } } พิมพ์ออกมา 5, 10 ตามที่คาดไว้ ตอนนี้ดูที่บรรทัดนี้: int col = test[0].length; โปรดสังเกตว่าฉันต้องอ้างอิงแถวใดแถวหนึ่งเพื่อรับความยาวคอลัมน์ สำหรับฉันดูเหมือนว่าน่าเกลียดอย่างไม่น่าเชื่อ นอกจากนี้หากอาร์เรย์ถูกกำหนดเป็น: test = new int[0][10]; จากนั้นรหัสจะล้มเหลวเมื่อพยายามรับความยาว มีวิธีที่แตกต่าง …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.