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

Python เป็นภาษาการเขียนโปรแกรมแบบหลายกระบวนทัศน์แบบไดนามิกพิมพ์อเนกประสงค์ มันถูกออกแบบมาให้เรียนรู้เข้าใจและใช้งานได้อย่างรวดเร็วและบังคับใช้ไวยากรณ์ที่สะอาดและสม่ำเสมอ โปรดทราบว่า Python 2 สนับสนุนอย่างเป็นทางการตั้งแต่วันที่ 01-01-2020 สำหรับคำถาม Python เฉพาะรุ่นให้เพิ่มแท็ก [python-2.7] หรือ [python-3.x] เมื่อใช้ตัวแปรหรือไลบรารี Python (เช่น Jython, PyPy, Pandas, Numpy) โปรดรวมไว้ในแท็ก

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

4
`1 ..__ truediv__ 'คืออะไร? Python มีไวยากรณ์สัญกรณ์ .. (“ dot dot”) หรือไม่
ฉันเพิ่งเจอไวยากรณ์ที่ฉันไม่เคยเห็นมาก่อนเมื่อฉันเรียนรู้หลามหรือในบทเรียนส่วนใหญ่..สัญกรณ์มันมีลักษณะเช่นนี้: f = 1..__truediv__ # or 1..__div__ for python 2 print(f(8)) # prints 0.125 ฉันคิดว่ามันเหมือนกับ (ยกเว้นยาวกว่าแน่นอน): f = lambda x: (1).__truediv__(x) print(f(8)) # prints 0.125 or 1//8 แต่คำถามของฉันคือ: จะทำเช่นนั้นได้อย่างไร มันมีความหมายอย่างไรกับจุดสองจุด คุณจะใช้มันอย่างไรในข้อความที่ซับซ้อนมากขึ้น (ถ้าเป็นไปได้)? นี่อาจจะช่วยฉันรหัสหลายบรรทัดในอนาคต ... :)

18
สร้างสถาปัตยกรรมปลั๊กอินขั้นต่ำใน Python
ฉันมีแอปพลิเคชันเขียนด้วย Python ซึ่งใช้โดยผู้ชมทางเทคนิคที่ค่อนข้างเป็นธรรม (นักวิทยาศาสตร์) ฉันกำลังมองหาวิธีที่ดีในการทำให้แอปพลิเคชันสามารถขยายได้โดยผู้ใช้เช่นสถาปัตยกรรมสคริปต์ / ปลั๊กอิน ฉันกำลังมองหาบางสิ่งบางอย่างที่เบามาก สคริปต์หรือปลั๊กอินส่วนใหญ่จะไม่ได้รับการพัฒนาและแจกจ่ายโดยบุคคลที่สามและติดตั้ง แต่จะเป็นสิ่งที่ผู้ใช้ทำขึ้นภายในไม่กี่นาทีเพื่อให้งานที่ทำซ้ำเพิ่มการรองรับรูปแบบไฟล์โดยอัตโนมัติ เป็นต้นดังนั้นปลั๊กอินควรมีรหัสสำเร็จรูปขั้นต่ำที่แน่นอนและไม่จำเป็นต้องมี 'การติดตั้ง' นอกเหนือจากการคัดลอกไปยังโฟลเดอร์ (ดังนั้นบางอย่างเช่นจุดเข้า setuptools หรือสถาปัตยกรรมปลั๊กอิน Zope ดูเหมือนมากเกินไป) มีระบบแบบนี้ออกมาแล้วหรือมีโครงการที่ใช้รูปแบบที่คล้ายกันซึ่งฉันควรมองหาความคิด / แรงบันดาลใจ?

11
Python ตีความหรือรวบรวมหรือทั้งสองอย่าง?
จากความเข้าใจของฉัน: ตีความภาษาวิ่งภาษาระดับสูงและดำเนินการโดยล่าม (โปรแกรมที่แปลงภาษาระดับสูงเพื่อรหัสเครื่องแล้วรัน) ในระหว่างการเดินทาง; มันประมวลผลโปรแกรมครั้งละเล็กน้อย รวบรวมภาษาเป็นภาษาระดับสูงที่มีรหัสถูกแปลงแรกที่เครื่องรหัสโดยคอมไพเลอร์ (โปรแกรมที่แปลงภาษาระดับสูงรหัสเครื่อง) และจากนั้นดำเนินการโดยผู้ปฏิบัติการ (โปรแกรมอื่นสำหรับการเรียกใช้รหัส) แก้ไขฉันถ้าคำจำกัดความของฉันไม่ถูกต้อง ตอนนี้กลับมาที่ Python ฉันสับสนเล็กน้อยเกี่ยวกับเรื่องนี้ ทุกที่ที่คุณเรียนรู้ว่า Python เป็นภาษาที่ถูกตีความ แต่มันถูกตีความไปยังรหัสกลางบางอย่าง (เช่นไบต์ - โค้ดหรือ IL) และไม่ใช่รหัสเครื่อง ดังนั้นโปรแกรมใดที่รันโค้ด IM? โปรดช่วยฉันเข้าใจวิธีจัดการและเรียกใช้สคริปต์ Python

12
แปลงรายการเป็นพจนานุกรมใน Python
สมมติว่าฉันมีรายการaใน Python ที่มีรายการเชื่อมโยงไปยังพจนานุกรมอย่างสะดวก แต่ละองค์ประกอบคู่แสดงถึงกุญแจในพจนานุกรมและองค์ประกอบคี่ต่อไปนี้คือค่า ตัวอย่างเช่น, a = ['hello','world','1','2'] และฉันต้องการแปลงเป็นพจนานุกรมbที่ b['hello'] = 'world' b['1'] = '2' อะไรคือวิธีที่สะอาดที่สุดในการทำสิ่งนี้ให้สำเร็จ
190 python  list  dictionary 

9
ฉันจะแสดงรูปภาพจากไฟล์ใน Jupyter Notebook ได้อย่างไร
ฉันต้องการใช้โน้ตบุ๊ก IPythonเป็นวิธีการวิเคราะห์แผนภูมิจีโนมแบบโต้ตอบที่ฉันทำกับGenomeDiagramโมดูลของ Biopython ในขณะที่มีเอกสารมากมายเกี่ยวกับวิธีใช้matplotlibเพื่อรับกราฟแบบอินไลน์ในสมุดบันทึก IPython GenomeDiagram ใช้ชุดเครื่องมือ ReportLab ซึ่งฉันไม่คิดว่าสนับสนุนกราฟแบบอินไลน์ใน IPython อย่างไรก็ตามฉันคิดว่าวิธีหนึ่งที่จะเขียนไดอะแกรมพล็อต / จีโนมลงในไฟล์แล้วเปิดภาพอินไลน์ซึ่งจะมีผลแบบเดียวกันกับสิ่งนี้: gd_diagram.write("test.png", "PNG") display(file="test.png") อย่างไรก็ตามฉันไม่สามารถหาวิธีการทำเช่นนี้หรือรู้ว่าเป็นไปได้ ดังนั้นใครจะรู้ว่าภาพสามารถเปิด / แสดงใน IPython ได้หรือไม่?

4
Python python กรองน่านจากการเลือกข้อมูลของคอลัมน์ของสตริง
โดยไม่ใช้groupbyฉันจะกรองข้อมูลโดยไม่ได้NaNอย่างไร สมมติว่าฉันมีเมทริกซ์ที่ลูกค้าจะเติมใน 'N / A', 'n / a' หรือรูปแบบใด ๆ ของมันและอื่น ๆ ปล่อยให้มันว่างเปล่า: import pandas as pd import numpy as np df = pd.DataFrame({'movie': ['thg', 'thg', 'mol', 'mol', 'lob', 'lob'], 'rating': [3., 4., 5., np.nan, np.nan, np.nan], 'name': ['John', np.nan, 'N/A', 'Graham', np.nan, np.nan]}) nbs = df['name'].str.extract('^(N/A|NA|na|n/a)') nms=df[(df['name'] != nbs) …
190 python  pandas  dataframe 

6
แทนที่องค์ประกอบทั้งหมดของ Python NumPy Array ที่มากกว่าค่าบางส่วน
ฉันมีอาร์เรย์ 2D NumPy และต้องการแทนที่ค่าทั้งหมดในนั้นมากกว่าหรือเท่ากับ threshold T ด้วย 255.0 สำหรับความรู้ของฉันวิธีพื้นฐานที่สุดคือ: shape = arr.shape result = np.zeros(shape) for x in range(0, shape[0]): for y in range(0, shape[1]): if arr[x, y] >= T: result[x, y] = 255 อะไรคือวิธีที่กระชับและไพเราะที่สุดในการทำสิ่งนี้? มีวิธีที่เร็วขึ้น (อาจกระชับและ / หรือ pythonic น้อยกว่า) ในการทำเช่นนี้? นี่จะเป็นส่วนหนึ่งของรูทีนย่อยการปรับหน้าต่าง / ระดับสำหรับการสแกน MRI ของหัวมนุษย์ อาร์เรย์ 2 มิติคือข้อมูลพิกเซลของภาพ

12
ฉันจะกู้คืนค่าส่งคืนของฟังก์ชันที่ส่งผ่านไปยังกระบวนการหลายตัวประมวลผลได้อย่างไร
workerในรหัสตัวอย่างด้านล่างฉันต้องการที่จะกู้คืนค่าตอบแทนของฟังก์ชั่น ฉันจะทำสิ่งนี้ได้อย่างไร ค่านี้ถูกเก็บไว้ที่ไหน? รหัสตัวอย่าง: import multiprocessing def worker(procnum): '''worker function''' print str(procnum) + ' represent!' return procnum if __name__ == '__main__': jobs = [] for i in range(5): p = multiprocessing.Process(target=worker, args=(i,)) jobs.append(p) p.start() for proc in jobs: proc.join() print jobs เอาท์พุท: 0 represent! 1 represent! 2 represent! 3 represent! …

19
วิธีการแยกข้อความจากไฟล์ PDF?
ฉันพยายามที่จะดึงข้อความที่รวมอยู่ในนี้ไฟล์ PDF Pythonที่ใช้ ฉันใช้โมดูลPyPDF2และมีสคริปต์ต่อไปนี้: import PyPDF2 pdf_file = open('sample.pdf') read_pdf = PyPDF2.PdfFileReader(pdf_file) number_of_pages = read_pdf.getNumPages() page = read_pdf.getPage(0) page_content = page.extractText() print page_content เมื่อฉันเรียกใช้รหัสฉันได้รับผลลัพธ์ต่อไปนี้ซึ่งแตกต่างจากที่รวมอยู่ในเอกสาร PDF: !"#$%#$%&%$&'()*%+,-%./01'*23%4 5'%1$#26%3/%7/))/8%&)/26%8#3"%3"*%313/9#&) % ฉันจะแยกข้อความตามที่อยู่ในเอกสาร PDF ได้อย่างไร
190 python  pdf 

8
มีวิธีระบุการทดสอบ pytest ที่จะเรียกใช้จากไฟล์หรือไม่?
มีวิธีเลือกpytestการทดสอบเพื่อเรียกใช้จากไฟล์หรือไม่? ตัวอย่างเช่นไฟล์foo.txtที่มีรายการการทดสอบที่จะดำเนินการ: tests_directory/foo.py::test_001 tests_directory/bar.py::test_some_other_test หรือมีวิธีในการเลือกการทดสอบหลายแบบโดยไม่มีรูปแบบทั่วไปในชื่อการทดสอบจากไดเรกทอรีต่าง ๆ ด้วย pytest หรือไม่? pytest -k <pattern> อนุญาตให้ใช้รูปแบบเดียว ทางเลือกหนึ่งคือการpytest.markต่อต้านการทดสอบแต่ละครั้ง แต่ความต้องการของฉันคือการใช้การทดสอบที่แตกต่างกันจากไฟล์ที่แตกต่างกัน มีวิธีการระบุหลายรูปแบบและชื่อไฟล์ทดสอบสำหรับแต่ละรูปแบบหรือไม่? หรือ มีวิธีระบุพา ธ ทดสอบที่แน่นอนในไฟล์และฟีดไฟล์นั้นเป็นอินพุตpytestหรือไม่ หรือ มีฟังก์ชั่น hook ที่สามารถใช้เพื่อจุดประสงค์นี้หรือไม่?
190 python  pytest 

12
ฉันจะรับคีย์พจนานุกรมเป็นตัวแปรโดยตรงใน Python (ไม่ใช่โดยการค้นหาจากค่า)
ขออภัยสำหรับคำถามพื้นฐานนี้ แต่การค้นหาของฉันในเรื่องนี้ไม่ได้เกิดขึ้นนอกเหนือจากวิธีการรับคีย์พจนานุกรมตามค่าของมันซึ่งฉันไม่ต้องการใช้เพราะฉันต้องการข้อความ / ชื่อของคีย์และฉันกังวลว่าการค้นหา โดยค่าอาจสิ้นสุดการส่งคืน 2 คีย์ขึ้นไปหากพจนานุกรมมีรายการจำนวนมาก ... สิ่งที่ฉันพยายามทำคือ: mydictionary={'keyname':'somevalue'} for current in mydictionary: result = mydictionary.(some_function_to_get_key_name)[current] print result "keyname" เหตุผลสำหรับสิ่งนี้คือฉันกำลังพิมพ์สิ่งเหล่านี้ลงในเอกสารและฉันต้องการใช้ชื่อคีย์และค่าในการทำสิ่งนี้ ฉันได้เห็นวิธีการด้านล่าง แต่ดูเหมือนว่าจะคืนค่าคีย์ get(key[, default])
189 python  dictionary  key 

15
เป็นไปได้ไหมที่จะส่งต่อประกาศฟังก์ชันใน Python
เป็นไปได้ไหมที่จะส่งต่อประกาศฟังก์ชันใน Python ฉันต้องการเรียงลำดับรายการโดยใช้cmpฟังก์ชั่นของตัวเองก่อนที่จะมีการประกาศ print "\n".join([str(bla) for bla in sorted(mylist, cmp = cmp_configs)]) ฉันจัดระเบียบโค้ดเพื่อกำหนดนิยามของcmp_configsวิธีหลังจากการภาวนา มันล้มเหลวด้วยข้อผิดพลาดนี้: NameError: name 'cmp_configs' is not defined มีวิธีใดที่จะ "ประกาศ" cmp_configsวิธีการก่อนที่มันจะใช้? มันจะทำให้โค้ดของฉันดูสะอาดขึ้นไหม ฉันคิดว่าบางคนจะถูกล่อลวงให้บอกฉันว่าฉันควรจัดระเบียบรหัสของฉันใหม่เพื่อที่ฉันจะได้ไม่มีปัญหานี้ อย่างไรก็ตามมีบางกรณีที่อาจหลีกเลี่ยงไม่ได้เช่นเมื่อใช้การเรียกซ้ำบางรูปแบบ ถ้าคุณทำไม่ได้เช่นตัวอย่างนี้สมมติว่าผมมีกรณีที่มันเป็นความจริงที่จำเป็นเพื่อส่งต่อประกาศฟังก์ชั่น พิจารณากรณีนี้ที่จำเป็นต้องใช้ฟังก์ชันการประกาศล่วงหน้าใน Python: def spam(): if end_condition(): return end_result() else: return eggs() def eggs(): if end_condition(): return end_result() else: return spam() ที่ไหนend_conditionและend_resultมีการกำหนดไว้ก่อนหน้านี้ เป็นทางออกเดียวที่จะจัดระเบียบรหัสใหม่และมักจะใส่คำจำกัดความก่อนที่จะเรียก?

1
วิธีการแปลงเวลาประทับจำนวนเต็มเป็น Python datetime
ฉันมีไฟล์ข้อมูลที่มีการประทับเวลาเช่น "1331856000000" น่าเสียดายที่ฉันไม่มีเอกสารจำนวนมากสำหรับรูปแบบดังนั้นฉันไม่แน่ใจว่ารูปแบบการประทับเวลาถูกจัดรูปแบบอย่างไร ฉันลองใช้มาตรฐานของ Python datetime.fromordinal()แล้วdatetime.fromtimestamp()และอีกสองสามอย่าง แต่ไม่มีอะไรที่ตรงกัน ฉันค่อนข้างแน่ใจว่าหมายเลขเฉพาะตรงกับวันที่ปัจจุบัน (เช่น 2012-3-16) แต่ไม่มาก ฉันจะแปลงหมายเลขนี้เป็น a ได้datetimeอย่างไร

4
ฉันจะแทรกคอลัมน์ที่ดัชนีคอลัมน์เฉพาะในนุ่นได้อย่างไร
ฉันสามารถแทรกคอลัมน์ที่ดัชนีคอลัมน์เฉพาะในนุ่นได้ไหม import pandas as pd df = pd.DataFrame({'l':['a','b','c','d'], 'v':[1,2,1,2]}) df['n'] = 0 สิ่งนี้จะทำให้คอลัมน์nเป็นคอลัมน์สุดท้ายของdfแต่ไม่มีวิธีบอกdfให้ใส่nที่จุดเริ่มต้นหรือไม่
189 python  indexing  pandas 

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