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

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

2
ความแตกต่างระหว่าง setUp () และ setUpClass () ใน Python unittest คืออะไร?
อะไรคือความแตกต่างระหว่างsetUp()และsetUpClass()ในunittestกรอบPython ? เหตุใดจึงต้องจัดการการตั้งค่าด้วยวิธีเดียว ฉันต้องการที่จะเข้าใจในสิ่งที่เป็นส่วนหนึ่งของการติดตั้งจะทำในsetUp()และsetUpClass()ฟังก์ชั่นเช่นเดียวกับและtearDown()tearDownClass()

7
วิธีตั้งค่าเซลล์เป็น NaN ในดาต้าเฟรมแพนด้า
ฉันต้องการแทนที่ค่าที่ไม่ถูกต้องในคอลัมน์ของดาต้าเฟรมโดย NaN mydata = {'x' : [10, 50, 18, 32, 47, 20], 'y' : ['12', '11', 'N/A', '13', '15', 'N/A']} df = pd.DataFrame(mydata) df[df.y == 'N/A']['y'] = np.nan แม้ว่าบรรทัดสุดท้ายจะล้มเหลวและส่งคำเตือนเนื่องจากทำงานกับสำเนา df แล้วอะไรคือวิธีจัดการที่ถูกต้อง? ฉันเคยเห็นวิธีแก้ปัญหามากมายที่มี iloc หรือ ix แต่ที่นี่ฉันต้องใช้เงื่อนไขบูลีน
104 python  pandas  nan 

3
วิธีการดองหรือจัดเก็บเซสชันสมุดบันทึก Jupyter (IPython) ไว้ใช้ในภายหลัง
สมมติว่าฉันกำลังทำการวิเคราะห์ข้อมูลขนาดใหญ่ขึ้นในสมุดบันทึก Jupyter / Ipython ซึ่งมีการคำนวณที่ใช้เวลานานมาก จากนั้นด้วยเหตุผลบางประการฉันต้องปิดเซิร์ฟเวอร์ภายในเครื่อง jupyter แต่ฉันต้องการกลับไปทำการวิเคราะห์ในภายหลังโดยไม่ต้องผ่านการคำนวณที่ใช้เวลานานทั้งหมดอีกครั้ง สิ่งที่ผมจะชอบความรักที่จะทำคือการpickleหรือเก็บเซสชั่น Jupyter ทั้งหมด (หมีแพนด้าทุก dataframes, np.arrays ตัวแปร, ... ) ดังนั้นฉันสามารถปิดเซิร์ฟเวอร์รู้ฉันสามารถกลับไปเซสชั่นของฉันในตรงรัฐเดียวกับ ก่อน. เป็นไปได้ในทางเทคนิคหรือไม่? มีฟังก์ชันในตัวที่ฉันมองข้ามไปหรือไม่? แก้ไข:จากคำตอบนี้มี%store เวทมนตร์ที่ควรจะเป็น "ผักดองน้ำหนักเบา" อย่างไรก็ตามคุณต้องจัดเก็บตัวแปรด้วยตนเองดังนี้: #inside a ipython/nb session foo = "A dummy string" %store foo ปิดการมองเห็นรีสตาร์ทเคอร์เนล %store -r foo # r เพื่อรีเฟรช print(foo) # "A dummy string" ซึ่งค่อนข้างใกล้เคียงกับสิ่งที่ฉันต้องการ แต่การต้องทำด้วยตนเองและไม่สามารถแยกความแตกต่างระหว่างเซสชันต่างๆทำให้มีประโยชน์น้อยลง

2
ใช้การบันทึกการพิมพ์ผลลัพธ์ของ pprint
ฉันต้องการใช้เอาต์พุตของ pprint เพื่อแสดงโครงสร้างข้อมูลที่ซับซ้อน แต่ฉันต้องการส่งออกโดยใช้โมดูลการบันทึกแทนที่จะเป็น stdout ds = [{'hello': 'there'}] logging.debug( pprint.pprint(ds) ) # outputs as STDOUT
104 python  logging  pprint 

9
แสดงความคืบหน้าของพูลการประมวลผลหลายตัวของ Python imap_unordered call?
ฉันมีสคริปต์ที่ประสบความสำเร็จในการทำชุดงานพูลหลายกระบวนการด้วยการimap_unordered()โทร: p = multiprocessing.Pool() rs = p.imap_unordered(do_work, xrange(num_tasks)) p.close() # No more work p.join() # Wait for completion อย่างไรก็ตามของฉันnum_tasksอยู่ที่ประมาณ 250,000 ดังนั้นการjoin()ล็อกเธรดหลักเป็นเวลา 10 วินาทีหรือมากกว่านั้นและฉันต้องการที่จะสามารถสะท้อนออกไปยังบรรทัดคำสั่งทีละน้อยเพื่อแสดงว่ากระบวนการหลักไม่ได้ถูกล็อค สิ่งที่ต้องการ: p = multiprocessing.Pool() rs = p.imap_unordered(do_work, xrange(num_tasks)) p.close() # No more work while (True): remaining = rs.tasks_remaining() # How many of the map call haven't been …

6
วิธีเขียนตัวอักษรสตริงใน python โดยไม่ต้องหลบหนี
มีวิธีประกาศตัวแปรสตริงใน python เพื่อให้ทุกอย่างที่อยู่ในนั้นหนีโดยอัตโนมัติหรือมีค่าอักขระตามตัวอักษรหรือไม่? ฉันไม่ได้ถามว่าจะหนีเครื่องหมายคำพูดด้วยเครื่องหมายทับที่ชัดเจนได้อย่างไร สิ่งที่ฉันขอคือวิธีวัตถุประสงค์ทั่วไปในการสร้างทุกอย่างในสตริงลิเทอรัลเพื่อที่ฉันจะได้ไม่ต้องดำเนินการด้วยตนเองและหลีกเลี่ยงทุกสิ่งสำหรับสตริงขนาดใหญ่ ใครรู้วิธีแก้ปัญหา? ขอบคุณ!
104 python  string  escaping 

30
การติดตั้ง pip ในแพ็คเกจไซต์ทั่วโลกแทนที่จะเป็น Virtualenv
การใช้pip3เพื่อติดตั้งแพ็กเกจใน a virtualenvทำให้แพ็กเกจถูกติดตั้งในโฟลเดอร์ global site-packaging แทนที่จะเป็นแพ็กเกจในโฟลเดอร์ Virtualenv นี่คือวิธีการตั้งค่า Python3 และ Virtualenv บน OS X Mavericks (10.9.1): ฉันติดตั้ง Python3 โดยใช้ Homebrew: ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" brew install python3 --with-brewed-openssl เปลี่ยน$PATHตัวแปรใน.bash_profile; เพิ่มบรรทัดต่อไปนี้: export PATH=/usr/local/bin:$PATH การรันwhich python3ผลตอบแทน/usr/local/bin/python3(หลังจากรีสตาร์ทเชลล์) หมายเหตุ: which python3ยังคงส่งคืน / usr/bin/pythonแม้ว่า ติดตั้งvirtualenvโดยใช้pip3: pip3 install virtualenv จากนั้นสร้างใหม่virtualenvและเปิดใช้งาน: virtualenv testpy3 -p python3 cd …
104 python  macos  virtualenv  pip 

2
เพิ่มเส้นทางไฟล์ไปยัง sys.path ใน Python อย่างถาวร
ผมมีไฟล์ที่เรียกว่าexample_file.pyซึ่งผมอยากจะใช้จากไฟล์อื่น ๆ อีกมากมายดังนั้นผมจึงตัดสินใจที่จะเพิ่มexample_file.pyการsys.pathและนำเข้าไฟล์นี้ในแฟ้มอื่นเพื่อใช้ไฟล์ ในการทำเช่นนั้นฉันเรียกใช้สิ่งต่อไปนี้ใน IPython import sys sys.path sys.path.append('/path/to/the/example_file.py') print(sys.path) ฉันเห็นเส้นทางที่เพิ่งเพิ่มและเมื่อฉันพยายามนำเข้าไฟล์นี้จากเส้นทางไดเรกทอรีอื่นเช่นนี้: import example_file มันใช้งานได้ดี แต่เมื่อฉันออกจาก IPython ให้ป้อนอีกครั้งและตรวจสอบsys.pathฉันเห็นว่าเส้นทางที่ฉันเพิ่มนั้นไม่มีอยู่ดังนั้นฉันจะเพิ่มเส้นทางไปยัง sys.path อย่างถาวรใน Python ได้อย่างไร
104 python  sys.path 

10
Python: ส่งเสียงบี๊บ
ฉันกำลังพยายามให้โปรแกรมส่งเสียงบี๊บ ฉันใช้เครื่อง windows ฉันได้ดูที่http://docs.python.org/library/winsound.html แต่ไม่แน่ใจว่าฉันจะตั้งโปรแกรมนี้ด้วยเครื่องสแกนบาร์โค้ดได้อย่างไร นี่คือรหัสของฉันสำหรับเครื่องสแกนบาร์โค้ดแบบอนุกรม ser = serial.Serial() ser.baudrate = 9600 #for windows ser.port = 2 #for COM3 ser.open() ser.write('hello') ser.close() UPDATE: เนื่องจากฉันทำให้เพื่อนร่วมงานรำคาญด้วยเสียงบี๊บ ฉันสามารถเอามันมาผ่านแจ็คเสียงสำหรับหูฟังได้หรือไม่?

8
เอาต์พุตไปยังบรรทัดเดียวกันเขียนทับเอาต์พุตก่อนหน้าหรือไม่
ฉันกำลังเขียนโปรแกรมดาวน์โหลด FTP ส่วนหนึ่งของรหัสมีลักษณะดังนี้: ftp.retrbinary("RETR " + file_name, process) ฉันกำลังเรียกใช้กระบวนการฟังก์ชั่นเพื่อจัดการการโทรกลับ: def process(data): print os.path.getsize(file_name)/1024, 'KB / ', size, 'KB downloaded!' file.write(data) และผลลัพธ์เป็นดังนี้: 1784 KB / KB 1829 downloaded! 1788 KB / KB 1829 downloaded! etc... แต่ฉันต้องการให้พิมพ์บรรทัดนี้และในครั้งต่อไปพิมพ์ / รีเฟรชใหม่ดังนั้นมันจะแสดงเพียงครั้งเดียวและฉันจะเห็นความคืบหน้าของการดาวน์โหลดนั้น ทำได้ยังไง?


4
เพิ่มคอลัมน์ที่มีค่าคงที่ให้กับแพนด้าดาต้าเฟรม [ซ้ำ]
คำถามนี้มีคำตอบอยู่แล้วที่นี่ : เพิ่มคอลัมน์ในดาต้าเฟรมด้วยค่าคงที่ (4 คำตอบ) ปิด6 เดือนที่แล้ว . รับ DataFrame: np.random.seed(0) df = pd.DataFrame(np.random.randn(3, 3), columns=list('ABC'), index=[1, 2, 3]) df A B C 1 1.764052 0.400157 0.978738 2 2.240893 1.867558 -0.977278 3 0.950088 -0.151357 -0.103219 วิธีที่ง่ายที่สุดในการเพิ่มคอลัมน์ใหม่ที่มีค่าคงที่เช่น 0 คืออะไร? A B C new 1 1.764052 0.400157 0.978738 0 2 2.240893 1.867558 …
104 python  pandas 

5
“ ข้อผิดพลาด: root: รหัสสำหรับ hash md5 ไม่พบ” เมื่อใช้คำสั่งปรอทปรอทใด ๆ
เมื่อพยายามใช้hgคำสั่ง Mercurial บนคอนโซลฉันได้รับข้อผิดพลาดนี้ ฉันติดตั้ง Python โดยใช้ Homebrew และฉันใช้ Mac OS Catalina v. 10.15.1 การอ้างอิงใด ๆ จะได้รับการชื่นชม นี่คือข้อผิดพลาดที่ฉันได้รับ: hg commit --amend ERROR:root:code for hash md5 was not found. Traceback (most recent call last): File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor raise ValueError('unsupported hash …

10
ฉันจะเรียกใช้โปรแกรม Python ได้อย่างไร
ฉันเริ่มเหมือน Python นิดหน่อย แต่ฉันมีปัญหา erm ... ฮ่า ๆ ตอนนี้ฉันใช้ IDLE แต่ไม่มีประโยชน์ใด ๆ เพราะคุณสามารถเรียกใช้งานได้ครั้งละสองสามบรรทัดเท่านั้น ฉันยังใช้ Komodo Edit เพื่อสร้างไฟล์. py จริง คำถามของฉันคือฉันจะเรียกใช้ไฟล์. py เพื่อทดสอบโปรแกรมจริงได้อย่างไร ฉันใช้ Windows 7 และ Komodo Edit 5 เป็น IDE การกด F5 ใน Komodo ไม่ได้ทำอะไรเลย
103 python  ide  debugging 

11
ipython อ่านเวอร์ชัน python ผิด
ฉันมีปัญหากับ Python, iPython และไลบรารี จุดต่อไปนี้แสดงห่วงโซ่ของปัญหา ฉันใช้ Python 2.7 บน Mac Lion iPython ไม่อ่านไลบรารีของ scipy, matplotlib แต่อ่านตัวเลข ในการแก้ไขปัญหานี้ฉันลองติดตั้งเวอร์ชันซอร์สโค้ดของ Python และทำให้ฉันมีปัญหามากขึ้นเท่านั้นตั้งแต่ตอนนี้ฉันมีสองเวอร์ชันที่แตกต่างกัน: 2.7.1 และ 2.7.2 ฉันสังเกตเห็นว่าใช้ Python ใช้เวอร์ชัน 2.7.2 และนำเข้า scipy, matplotlib และ numpy แต่ใน iPython เวอร์ชันคือ 2.7.1 ซึ่งไม่เปิด scipy หรือ matplotlib ฉันได้ลองหลายสิ่งที่ฉันพบจากบล็อกโพสต์อื่น ๆ แต่ไม่มีใครช่วยเลยและน่าเสียดายที่ฉันไม่รู้ว่าฉันกำลังทำอะไรกับบางคน ตัวอย่างเช่นฉันลองถอนการติดตั้งและติดตั้ง ipython ใหม่ด้วย easy_install และ pip ฉันยังลองติดตั้งทุกอย่างใหม่ผ่าน homebrew …
103 python  ipython 

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