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

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

5
ทำให้ข้อมูลปกติในแพนด้า
สมมติว่าฉันมีกรอบข้อมูลแพนด้าdf: ฉันต้องการคำนวณค่าเฉลี่ยคอลัมน์ที่ชาญฉลาดของกรอบข้อมูล มันง่ายมาก: df.apply(average) จากนั้นคอลัมน์ที่ชาญฉลาดช่วงสูงสุด (col) - นาที (col) นี่เป็นเรื่องง่ายอีกครั้ง: df.apply(max) - df.apply(min) ตอนนี้สำหรับแต่ละองค์ประกอบฉันต้องการลบค่าเฉลี่ยของคอลัมน์และหารด้วยช่วงของคอลัมน์ ฉันไม่แน่ใจว่าจะทำอย่างไร ความช่วยเหลือ / คำแนะนำใด ๆ จะได้รับการชื่นชมมาก
133 python  pandas  numpy 

4
numpy max เทียบกับ amax เทียบกับ maximum
numpy มีฟังก์ชันที่แตกต่างกันสามฟังก์ชันซึ่งดูเหมือนว่าสามารถใช้กับสิ่งเดียวกันได้ยกเว้นว่าnumpy.maximumสามารถใช้ได้เฉพาะองค์ประกอบที่ชาญฉลาดในขณะที่numpy.maxและnumpy.amaxสามารถใช้ได้กับแกนเฉพาะหรือองค์ประกอบทั้งหมด ทำไมถึงมีมากกว่าแค่numpy.max? มีความละเอียดอ่อนในการแสดงหรือไม่? (ในทำนองเดียวกันminกับaminเทียบกับminimum)
133 python  numpy  math  max 

8
Numpy ที่ทำหน้าที่หลายเงื่อนไข
ฉันมีระยะทางที่เรียกว่าระยะทาง ฉันต้องการเลือก dists ซึ่งอยู่ระหว่างสองค่า ฉันเขียนบรรทัดของรหัสต่อไปนี้เพื่อทำ: dists[(np.where(dists >= r)) and (np.where(dists <= r + dr))] อย่างไรก็ตามสิ่งนี้จะเลือกสำหรับเงื่อนไขเท่านั้น (np.where(dists <= r + dr)) ถ้าฉันทำคำสั่งตามลำดับโดยใช้ตัวแปรชั่วคราวมันทำงานได้ดี ทำไมรหัสด้านบนใช้งานไม่ได้และฉันจะทำให้มันทำงานได้อย่างไร ไชโย
132 python  numpy 

3
ความสับสนระหว่าง numpy, scipy, matplotlib และ pylab
Numpy, scipy, matplotlib และ pylab เป็นคำที่ใช้กันทั่วไปในหมู่พวกเขาที่ใช้ python ในการคำนวณทางวิทยาศาสตร์ ฉันเพิ่งเรียนรู้เล็กน้อยเกี่ยวกับ pylab และฉันก็สับสน เมื่อใดก็ตามที่ฉันต้องการนำเข้า numpy ฉันสามารถทำได้เสมอ: import numpy as np ฉันแค่พิจารณาว่าเมื่อฉันทำ from pylab import * numpy จะถูกนำเข้าด้วย (พร้อมnpนามแฝง) โดยพื้นฐานแล้วอันที่สองทำสิ่งต่างๆได้มากกว่าเมื่อเทียบกับอันแรก มีบางสิ่งที่ฉันต้องการถาม: ใช่หรือไม่ที่ pylab เป็นเพียงเครื่องห่อสำหรับ numpy, scipy และ matplotlib? เนื่องจาก np เป็นนามแฝง numpy ใน pylab นามแฝง scipy และ matplotlib ใน pylab คืออะไร? (เท่าที่ฉันรู้ plt …

8
การคูณแตกต่างกันอย่างไรสำหรับคลาส NumPy Matrix vs Array
เอกสาร numpy แนะนำให้ใช้อาร์เรย์แทนเมทริกซ์สำหรับการทำงานกับเมทริกซ์ อย่างไรก็ตามไม่เหมือนกับอ็อกเทฟ (ที่ฉันใช้จนถึงเมื่อไม่นานมานี้) * ไม่ทำการคูณเมทริกซ์คุณต้องใช้ฟังก์ชัน matrixmultipy () ฉันรู้สึกว่านี่ทำให้โค้ดอ่านไม่ออก มีใครแบ่งปันมุมมองของฉันและพบวิธีแก้ไขหรือไม่?

12
การถดถอยเชิงเส้นพหุคูณใน Python
ฉันไม่พบไลบรารี python ที่ทำการถดถอยแบบทวีคูณ สิ่งเดียวที่ฉันพบคือการถดถอยอย่างง่ายเท่านั้น ฉันต้องถอยหลังตัวแปรตาม (y) เทียบกับตัวแปรอิสระหลายตัว (x1, x2, x3 ฯลฯ ) ตัวอย่างเช่นด้วยข้อมูลนี้: print 'y x1 x2 x3 x4 x5 x6 x7' for t in texts: print "{:>7.1f}{:>10.2f}{:>9.2f}{:>9.2f}{:>10.2f}{:>7.2f}{:>7.2f}{:>9.2f}" / .format(t.y,t.x1,t.x2,t.x3,t.x4,t.x5,t.x6,t.x7) (ผลลัพธ์สำหรับด้านบน :) y x1 x2 x3 x4 x5 x6 x7 -6.0 -4.95 -5.87 -0.76 14.73 4.02 0.20 0.45 -5.0 -4.55 …

12
เริ่มต้นอาร์เรย์ numpy
มีวิธีเริ่มต้นอาร์เรย์ที่เป็นตัวเลขและเพิ่มเข้าไปหรือไม่? ฉันจะอธิบายสิ่งที่ฉันต้องการพร้อมตัวอย่างรายการ ถ้าฉันต้องการสร้างรายการของวัตถุที่สร้างในลูปฉันสามารถทำได้: a = [] for i in range(5): a.append(i) ฉันต้องการทำสิ่งที่คล้ายกันกับอาร์เรย์จำนวนนับ ฉันรู้เกี่ยวกับ vstack, เชื่อมต่อ ฯลฯ อย่างไรก็ตามดูเหมือนว่าสิ่งเหล่านี้ต้องการอาร์เรย์ numpy สองตัวเป็นอินพุต สิ่งที่ฉันต้องการคือ: big_array # Initially empty. This is where I don't know what to specify for i in range(5): array i of shape = (2,4) created. add to big_array ควรจะมีรูปร่างbig_array (10,4)ต้องทำอย่างไร? แก้ไข: …
130 python  arrays  numpy 

3
เหตุใดการประมวลผลหลายขั้นตอนจึงใช้เพียงคอร์เดียวหลังจากที่ฉันนำเข้าจำนวน
ฉันไม่แน่ใจว่าสิ่งนี้นับเป็นปัญหาระบบปฏิบัติการมากกว่าหรือไม่ แต่ฉันคิดว่าฉันจะถามที่นี่ในกรณีที่ใครก็ตามมีความเข้าใจบางอย่างจากจุดสิ้นสุดของ Python ฉันพยายามขนานforลูปที่ใช้CPU หนักjoblibแต่ฉันพบว่าแทนที่จะกำหนดให้แต่ละกระบวนการของผู้ปฏิบัติงานถูกกำหนดให้กับคอร์ที่แตกต่างกันฉันพบว่ากระบวนการทั้งหมดถูกกำหนดให้อยู่ในคอร์เดียวกันและไม่มีการเพิ่มประสิทธิภาพ นี่เป็นตัวอย่างที่ไม่สำคัญมาก ... from joblib import Parallel,delayed import numpy as np def testfunc(data): # some very boneheaded CPU work for nn in xrange(1000): for ii in data[0,:]: for jj in data[1,:]: ii*jj def run(niter=10): data = (np.random.randn(2,100) for ii in xrange(niter)) pool = Parallel(n_jobs=-1,verbose=1,pre_dispatch='all') results = …

6
python numpy ValueError: ไม่สามารถออกอากาศตัวถูกดำเนินการร่วมกับรูปร่างได้
ใน numpy ฉันมี "อาร์เรย์" สองตัวXคือ(m,n)และyเป็นเวกเตอร์(n,1) การใช้ X*y ฉันได้รับข้อผิดพลาด ValueError: operands could not be broadcast together with shapes (97,2) (2,1) (97,2)x(2,1)การดำเนินการเมทริกซ์กฎหมายชัดเจนเมื่อ ใดและควรให้(97,1)เวกเตอร์แก่ฉัน แก้ไข: ฉันได้แก้ไขโดยใช้X.dot(y)แต่คำถามเดิมยังคงอยู่
129 python  numpy 


4
วิธีการแบนเฉพาะบางมิติของอาร์เรย์ตัวเลข
มีวิธีที่รวดเร็วในการ "sub-flatten" หรือทำให้เฉพาะบางส่วนของมิติแรกในอาร์เรย์ตัวเลข ตัวอย่างเช่นเมื่อกำหนดขนาดอาร์เรย์จำนวนหนึ่งมิติ(50,100,25)ผลลัพธ์จะเป็น(5000,25)
128 python  numpy  flatten 

7
การเปลี่ยนนุ่นหรือ Numpy Nan เป็น None เพื่อใช้กับ MysqlDB
ฉันกำลังพยายามเขียนดาต้าเฟรมของ Pandas (หรือสามารถใช้อาร์เรย์ numpy) ไปยังฐานข้อมูล mysql โดยใช้ MysqlDB ดูเหมือนว่า MysqlDB จะไม่เข้าใจ 'nan' และฐานข้อมูลของฉันแสดงข้อผิดพลาดว่า nan ไม่อยู่ในรายการฟิลด์ ฉันต้องหาวิธีแปลง 'nan' เป็น NoneType ความคิดใด ๆ ?

6
การแปลงชนิด In-place ของอาร์เรย์ NumPy
ด้วยอาร์เรย์ NumPy ของint32ฉันจะแปลงให้float32 เข้าที่ได้อย่างไร โดยพื้นฐานแล้วฉันอยากจะทำ a = a.astype(numpy.float32) โดยไม่ต้องคัดลอกอาร์เรย์ มันใหญ่. aเหตุผลสำหรับการทำเช่นนี้ก็คือว่าฉันมีสองขั้นตอนวิธีการในการคำนวณของ หนึ่งในนั้นส่งคืนอาร์เรย์ของint32อีกอันส่งคืนอาร์เรย์ของfloat32(และสิ่งนี้มีอยู่ในอัลกอริทึมที่แตกต่างกันสองแบบ) ทั้งหมดคำนวณต่อไปคิดว่าเป็นอาเรย์ของafloat32 ขณะนี้ฉันทำแปลงในฟังก์ชัน C ctypesเรียกว่าผ่าน มีวิธีทำใน Python หรือไม่?
127 python  numpy 

6
การกรองรายการตามรายการบูลีน
ฉันมีรายการของค่าที่ฉันต้องการกรองตามค่าในรายการบูลีน: list_a = [1, 2, 4, 6] filter = [True, False, True, False] ฉันสร้างรายการที่กรองใหม่ด้วยบรรทัดต่อไปนี้: filtered_list = [i for indx,i in enumerate(list_a) if filter[indx] == True] ซึ่งส่งผลให้: print filtered_list [1,4] สายใช้งานได้ แต่ดูเหมือน (สำหรับฉัน) มากเกินไปและฉันก็สงสัยว่ามีวิธีที่ง่ายกว่าในการบรรลุเป้าหมายเดียวกันหรือไม่ คำแนะนำ สรุปคำแนะนำที่ดีสองประการในคำตอบด้านล่าง: 1- อย่าตั้งชื่อรายการfilterเหมือนที่ฉันทำเพราะเป็นฟังก์ชันในตัว 2- อย่าเปรียบเทียบสิ่งต่างๆกับสิ่งที่Trueฉันทำif filter[idx]==True..เพราะมันไม่จำเป็น แค่ใช้if filter[idx]ก็เพียงพอแล้ว
127 python  list  numpy 

6
จะตรวจสอบการเชื่อมโยง BLAS / LAPACK ใน NumPy และ SciPy ได้อย่างไร?
ฉันกำลังสร้างสภาพแวดล้อมที่น่าเบื่อ / scipy ของฉันโดยอาศัย blas และ lapack มากหรือน้อยตามสิ่งนี้ใช้เวลาเดินผ่าน เมื่อฉันทำเสร็จแล้วฉันจะตรวจสอบได้อย่างไรว่าฟังก์ชัน numpy / scipy ของฉันใช้ฟังก์ชัน blas / lapack ที่สร้างไว้ก่อนหน้านี้หรือไม่
126 python  numpy  scipy  lapack  blas 

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