คำถามติดแท็ก numpy

NumPy เป็นส่วนขยายการคำนวณทางวิทยาศาสตร์และตัวเลขเป็นภาษาโปรแกรม Python


16
วิธีที่ดีกว่าในการสลับสองอาร์เรย์ numpy พร้อมเพรียง
ฉันมีอาร์เรย์ numpy สองตัวที่มีรูปร่างต่างกัน แต่มีความยาวเท่ากัน (มิตินำหน้า) ฉันต้องการสับเปลี่ยนแต่ละองค์ประกอบเช่นนั้นองค์ประกอบที่เกี่ยวข้องยังคงสอดคล้องกัน - เช่นสับเปลี่ยนพวกเขาพร้อมกันด้วยความเคารพดัชนีชั้นนำของพวกเขา รหัสนี้ใช้งานได้และแสดงเป้าหมายของฉัน: def shuffle_in_unison(a, b): assert len(a) == len(b) shuffled_a = numpy.empty(a.shape, dtype=a.dtype) shuffled_b = numpy.empty(b.shape, dtype=b.dtype) permutation = numpy.random.permutation(len(a)) for old_index, new_index in enumerate(permutation): shuffled_a[new_index] = a[old_index] shuffled_b[new_index] = b[old_index] return shuffled_a, shuffled_b ตัวอย่างเช่น: >>> a = numpy.asarray([[1, 1], [2, 2], [3, …

12
การแปลงชนิด dtypes ให้เป็นชนิดไพ ธ อลดั้งเดิม
ถ้าฉันมี ntyy dtype ฉันจะแปลงมันเป็นชนิดข้อมูลหลามที่ใกล้เคียงที่สุดโดยอัตโนมัติได้อย่างไร ตัวอย่างเช่น, numpy.float32 -> "python float" numpy.float64 -> "python float" numpy.uint32 -> "python int" numpy.int16 -> "python int" ฉันสามารถลองทำแผนที่ของกรณีเหล่านี้ได้ทั้งหมด แต่ไม่มีการจัดเรียงให้เป็นวิธีอัตโนมัติในการแปลงชนิดของมันให้เป็นชนิดไพ ธ อลแบบดั้งเดิมที่ใกล้เคียงที่สุดหรือไม่? การทำแผนที่นี้ไม่จำเป็นต้องละเอียดถี่ถ้วน แต่ควรแปลง dtypes ทั่วไปที่มีอะนาล็อก python แบบปิด ฉันคิดว่าสิ่งนี้เกิดขึ้นที่ไหนสักแห่งใน numpy
238 python  numpy 

7
การกำหนดค่าเริ่มต้นอาร์เรย์ NumPy (เติมด้วยค่าที่เหมือนกัน)
ฉันต้องการที่จะสร้างอาร์เรย์ NumPy ของความยาวองค์ประกอบของซึ่งแต่ละnv มีอะไรที่ดีไปกว่า: a = empty(n) for i in range(n): a[i] = v ฉันรู้zerosและonesจะทำงานกับ v = 0, 1 ฉันสามารถใช้งานv * ones(n)ได้ แต่มันจะไม่ทำงานเมื่อvเป็นNoneและจะช้ากว่ามาก
237 python  arrays  numpy 

8
ฉันจะแปลงอาเรย์ numpy เป็น (และแสดง) ภาพได้อย่างไร?
ฉันได้สร้างอาร์เรย์ดังนี้: import numpy as np data = np.zeros( (512,512,3), dtype=np.uint8) data[256,256] = [255,0,0] สิ่งที่ฉันต้องการให้ทำคือแสดงจุดสีแดงหนึ่งจุดที่กึ่งกลางของภาพ 512x512 (อย่างน้อยเริ่มต้นด้วย ... ฉันคิดว่าฉันสามารถหาที่เหลือได้จากที่นั่น)

19
แปลงอาเรย์ของดัชนีไปเป็นอาเรย์ numpy ที่เข้ารหัสแล้ว 1 ครั้ง
สมมติว่าฉันมีอาร์เรย์ numpy 1d a = array([1,0,3]) ฉันต้องการเข้ารหัสเป็นอาร์เรย์ 2d 1-hot b = array([[0,1,0,0], [1,0,0,0], [0,0,0,1]]) มีวิธีที่รวดเร็วในการทำเช่นนี้? เร็วกว่าการวนซ้ำaเพื่อตั้งค่าองค์ประกอบของbนั่นคือ

11
การลบค่าน่านออกจากอาร์เรย์
ฉันต้องการหาวิธีลบค่าน่านออกจากอาร์เรย์ของฉัน อาร์เรย์ของฉันมีลักษณะดังนี้: x = [1400, 1500, 1600, nan, nan, nan ,1700] #Not in this exact configuration ฉันจะลบnanค่าออกจากได้xอย่างไร
223 python  arrays  numpy  nan 

6
ValueError: ค่าความจริงของอาร์เรย์ที่มีองค์ประกอบมากกว่าหนึ่งรายการนั้นไม่ชัดเจน ใช้ a.any () หรือ a.all ()
ฉันเพิ่งค้นพบข้อผิดพลาดเชิงตรรกะในรหัสของฉันซึ่งก่อให้เกิดปัญหาทุกประเภท ผมก็ไม่ได้ตั้งใจทำบิตและแทนที่จะเป็นตรรกะและ ฉันเปลี่ยนรหัสจาก: r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS) mask = ((r["dt"] >= startdate) & (r["dt"] <= enddate)) selected = r[mask] ถึง: r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS) mask = ((r["dt"] >= startdate) and (r["dt"] <= enddate)) selected = r[mask] ด้วยความประหลาดใจของฉันฉันได้รับข้อความแสดงข้อผิดพลาดที่ค่อนข้างลึกลับ: ValueError: ค่าความจริงของอาร์เรย์ที่มีองค์ประกอบมากกว่าหนึ่งรายการนั้นไม่ชัดเจน ใช้ a.any () หรือ a.all () ทำไมข้อผิดพลาดที่คล้ายกันไม่ถูกปล่อยออกมาเมื่อฉันใช้การดำเนินการระดับบิต - และฉันจะแก้ไขได้อย่างไร
221 python  numpy 

8
วิธีการติดตั้งโมดูลหลามโดยไม่มีการเข้าถึงรูท?
ฉันกำลังเรียนมหาวิทยาลัยและได้รับ 'บัญชีการเรียนการสอน' ซึ่งเป็นบัญชีโรงเรียนที่ฉันสามารถทำงานได้ ฉันต้องการใช้งาน Numpy, matplotlib, scipy code บนเครื่องนั้น แต่ฉันไม่สามารถติดตั้งโมดูลเหล่านี้ได้เนื่องจากฉันไม่ใช่ผู้ดูแลระบบ ฉันจะทำการติดตั้งได้อย่างไร
220 python  numpy  pip 

7
กำลังลดค่าอนันต์จากดาต้าเฟรมในนุ่น?
วิธีที่เร็วที่สุด / ง่ายที่สุดในการปล่อยค่า nan และ inf / -inf จาก DataFrame แพนด้าโดยไม่ต้องรีเซ็ตmode.use_inf_as_nullคืออะไร ฉันต้องการใช้subsetและhowข้อโต้แย้งของdropnaยกเว้นinfค่าที่ถือว่าหายไปเช่น: df.dropna(subset=["col1", "col2"], how="all", with_inf=True) เป็นไปได้ไหม มีวิธีบอกdropnaให้รวมinfไว้ในนิยามของค่าที่หายไปหรือไม่?
220 python  numpy  scipy  pandas 

11
ฉันจะคำนวณเปอร์เซ็นไทล์ด้วย python / numpy ได้อย่างไร
มีวิธีที่สะดวกในการคำนวณเปอร์เซนต์ไทล์สำหรับลำดับหรืออาร์เรย์มิติเดียวหรือไม่? ฉันกำลังมองหาบางสิ่งที่คล้ายกับฟังก์ชันเปอร์เซ็นต์ไทล์ของ Excel ฉันดูในการอ้างอิงสถิติของ NumPy และไม่พบสิ่งนี้ ทั้งหมดที่ฉันสามารถหาได้คือค่ามัธยฐาน (เปอร์เซ็นไทล์ที่ 50) แต่ไม่ใช่สิ่งที่เฉพาะเจาะจงมากขึ้น

9
วิธีการลบองค์ประกอบเฉพาะในอาร์เรย์ numpy
ฉันจะลบองค์ประกอบเฉพาะบางอย่างออกจากอาร์เรย์ numpy ได้อย่างไร บอกว่าฉันมี import numpy as np a = np.array([1,2,3,4,5,6,7,8,9]) จากนั้นผมก็ต้องการที่จะลบจาก3,4,7 aสิ่งที่ฉันรู้คือดัชนีของค่า ( index=[2,3,6])
212 python  arrays  numpy 

12
วิธีการทำให้ปกติอาร์เรย์ใน NumPy?
ฉันต้องการมีบรรทัดฐานของอาร์เรย์ NumPy หนึ่งชุด โดยเฉพาะอย่างยิ่งฉันกำลังมองหารุ่นที่เทียบเท่าของฟังก์ชั่นนี้ def normalize(v): norm = np.linalg.norm(v) if norm == 0: return v return v / norm มีอะไรแบบนั้นในskearnหรือnumpyเปล่า? ฟังก์ชันนี้ทำงานในสถานการณ์ที่vเป็น 0 เวกเตอร์

7
วิธีทำให้เส้นโค้งเรียบในวิธีที่ถูกต้อง?
สมมติว่าเรามีชุดข้อมูลที่อาจได้รับประมาณ import numpy as np x = np.linspace(0,2*np.pi,100) y = np.sin(x) + np.random.random(100) * 0.2 ดังนั้นเราจึงมีรูปแบบของชุดข้อมูล 20% ความคิดแรกของฉันคือการใช้ฟังก์ชัน UnivariateSpline ของ scipy แต่ปัญหาคือว่านี่ไม่ได้พิจารณาว่าเสียงเล็ก ๆ ในทางที่ดี หากคุณพิจารณาความถี่พื้นหลังมีขนาดเล็กกว่าสัญญาณดังนั้นเส้นโค้งเพียงจุดตัดอาจเป็นแนวคิด แต่จะเกี่ยวข้องกับการแปลงฟูเรียร์ไปมาซึ่งอาจทำให้เกิดพฤติกรรมที่ไม่ดี อีกวิธีหนึ่งก็คือค่าเฉลี่ยเคลื่อนที่ แต่ก็ต้องมีทางเลือกที่เหมาะสมของความล่าช้า คำแนะนำ / หนังสือหรือลิงก์วิธีแก้ไขปัญหานี้

21
ข้อผิดพลาดในการนำเข้า: ไม่มีโมดูลชื่อ numpy
ฉันมีคำถามที่คล้ายกันมากกับคำถามนี้แต่ก็ยังอยู่ในขั้นตอนเดียว ฉันมี Python 3 รุ่นเดียวเท่านั้นที่ติดตั้งบน Windows 7 ของฉัน ( ขออภัย ) ระบบ 64 บิต ฉันติดตั้ง numpy ตามลิงก์นี้- ตามที่แนะนำในคำถาม การติดตั้งทำงานได้ดี แต่เมื่อฉันดำเนินการ import numpy ฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อผิดพลาดในการนำเข้า: ไม่มีโมดูลชื่อ numpy ฉันรู้ว่านี่อาจเป็นคำถามขั้นพื้นฐานสุด ๆ แต่ฉันยังคงเรียนรู้อยู่ ขอบคุณ

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