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

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


10
GroupBy แพนด้า DataFrame และเลือกค่าที่พบบ่อยที่สุด
ฉันมีกรอบข้อมูลที่มีคอลัมน์สตริงสามคอลัมน์ ฉันรู้ว่าค่าเดียวในคอลัมน์ที่ 3 ใช้ได้กับทุกค่าผสมของสองค่าแรก ในการล้างข้อมูลฉันต้องจัดกลุ่มตามกรอบข้อมูลตามสองคอลัมน์แรกและเลือกค่าที่พบบ่อยที่สุดของคอลัมน์ที่สามสำหรับแต่ละชุดค่าผสม รหัสของฉัน: import pandas as pd from scipy import stats source = pd.DataFrame({'Country' : ['USA', 'USA', 'Russia','USA'], 'City' : ['New-York', 'New-York', 'Sankt-Petersburg', 'New-York'], 'Short name' : ['NY','New','Spb','NY']}) print source.groupby(['Country','City']).agg(lambda x: stats.mode(x['Short name'])[0]) บรรทัดสุดท้ายของโค้ดใช้ไม่ได้มันขึ้นว่า "Key error" Short name "" และถ้าฉันพยายามจัดกลุ่มตามเมืองเท่านั้นฉันก็จะได้รับ AssertionError ฉันจะแก้ไขอะไรได้บ้าง?

11
FutureWarning: การเปรียบเทียบองค์ประกอบล้มเหลว ส่งคืนสเกลาร์ แต่ในอนาคตจะทำการเปรียบเทียบตามองค์ประกอบ
ฉันใช้ Pandas 0.19.1บน Python 3 ฉันได้รับคำเตือนเกี่ยวกับบรรทัดของโค้ดเหล่านี้ ฉันพยายามที่จะได้รับรายชื่อที่มีทั้งหมดจำนวนแถวที่สตริงเป็นปัจจุบันที่คอลัมน์PeterUnnamed: 5 df = pd.read_excel(xls_path) myRows = df[df['Unnamed: 5'] == 'Peter'].index.tolist() มันสร้างคำเตือน: "\Python36\lib\site-packages\pandas\core\ops.py:792: FutureWarning: elementwise comparison failed; returning scalar, but in the future will perform elementwise comparison result = getattr(x, name)(y)" FutureWarning นี้คืออะไรและฉันควรเพิกเฉยเพราะดูเหมือนจะใช้งานได้

8
Python Selenium เข้าถึงซอร์ส HTML
ฉันจะรับซอร์สHTMLในตัวแปรโดยใช้โมดูลซีลีเนียมกับ Python ได้อย่างไร ฉันต้องการทำสิ่งนี้: from selenium import webdriver browser = webdriver.Firefox() browser.get("http://example.com") if "whatever" in html_source: # Do something else: # Do something else ฉันจะทำเช่นนี้ได้อย่างไร? ฉันไม่รู้วิธีเข้าถึงซอร์ส HTML

13
วิธีง่ายๆในการสร้างเมทริกซ์ของตัวเลขสุ่ม
ฉันพยายามสร้างเมทริกซ์ของตัวเลขสุ่ม แต่วิธีแก้ปัญหาของฉันยาวเกินไปและดูน่าเกลียด random_matrix = [[random.random() for e in range(2)] for e in range(3)] มันดูโอเค แต่ในการใช้งานของฉันมันเป็น weights_h = [[random.random() for e in range(len(inputs[0]))] for e in range(hiden_neurons)] ซึ่งไม่สามารถอ่านได้อย่างมากและไม่พอดีกับบรรทัดเดียว


3
ฉันจะรับ filepath สำหรับคลาสใน Python ได้อย่างไร
เมื่อพิจารณาถึงคลาส C ใน Python ฉันจะทราบได้อย่างไรว่าคลาสถูกกำหนดไว้ในไฟล์ใด ฉันต้องการบางสิ่งที่สามารถทำงานได้จากคลาส C หรือจากอินสแตนซ์จาก C เหตุผลที่ฉันทำเช่นนี้เป็นเพราะโดยทั่วไปฉันเป็นคนชอบเอาไฟล์ที่อยู่รวมกันในโฟลเดอร์เดียวกัน ฉันต้องการสร้างคลาสที่ใช้เทมเพลต Django เพื่อแสดงผลเป็น HTML การใช้งานพื้นฐานควรอนุมานชื่อไฟล์สำหรับเทมเพลตตามชื่อไฟล์ที่คลาสกำหนดไว้ สมมติว่าฉันใส่คลาส LocationArtifact ในไฟล์ "base / artifacts.py" จากนั้นฉันต้องการให้ลักษณะการทำงานเริ่มต้นคือชื่อเทมเพลตคือ "base / LocationArtifact.html"

3
รับ __name__ ของโมดูลการเรียกฟังก์ชันใน Python
สมมติว่าmyapp/foo.pyประกอบด้วย: def info(msg): caller_name = ???? print '[%s] %s' % (caller_name, msg) และmyapp/bar.pyประกอบด้วย: import foo foo.info('Hello') # => [myapp.bar] Hello ฉันต้องการcaller_nameตั้งค่าเป็น__name__แอตทริบิวต์ของโมดูลการเรียกฟังก์ชัน (ซึ่งก็คือ 'myapp.foo') ในกรณีนี้ จะทำได้อย่างไร?

4
Matplotlib Legends ไม่ทำงาน
นับตั้งแต่อัปเกรด matplotlib ฉันได้รับข้อผิดพลาดต่อไปนี้ทุกครั้งที่พยายามสร้างตำนาน: /usr/lib/pymodules/python2.7/matplotlib/legend.py:610: UserWarning: Legend does not support [<matplotlib.lines.Line2D object at 0x3a30810>] Use proxy artist instead. http://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist warnings.warn("Legend does not support %s\nUse proxy artist instead.\n\nhttp://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist\n" % (str(orig_handle),)) /usr/lib/pymodules/python2.7/matplotlib/legend.py:610: UserWarning: Legend does not support [<matplotlib.lines.Line2D object at 0x3a30990>] Use proxy artist instead. http://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist warnings.warn("Legend does not support %s\nUse proxy artist …

6
คัดลอกไฟล์หลายไฟล์ใน Python
วิธีคัดลอกไฟล์ทั้งหมดที่มีอยู่ในไดเร็กทอรีหนึ่งไปยังไดเร็กทอรีอื่นโดยใช้ Python ฉันมีเส้นทางต้นทางและเส้นทางปลายทางเป็นสตริง
99 python  file  copy 

4
Python รองรับมัลติเธรดหรือไม่ สามารถเร่งเวลาดำเนินการได้หรือไม่?
ฉันสับสนเล็กน้อยว่ามัลติเธรดทำงานใน Python ได้หรือไม่ ฉันรู้ว่ามีคำถามมากมายเกี่ยวกับเรื่องนี้และฉันได้อ่านคำถามมากมาย แต่ฉันก็ยังสับสน ฉันรู้จากประสบการณ์ของตัวเองและเคยเห็นคนอื่น ๆ โพสต์คำตอบและตัวอย่างของพวกเขาเองที่ StackOverflow ว่าการทำมัลติเธรดเป็นไปได้ใน Python เหตุใดทุกคนจึงบอกว่า Python ถูกล็อกโดย GIL และเธรดเดียวเท่านั้นที่สามารถทำงานได้ในแต่ละครั้ง? มันทำงานได้อย่างชัดเจน หรือมีความแตกต่างบางอย่างที่ฉันไม่ได้มาที่นี่? ผู้โพสต์ / ผู้ตอบแบบสอบถามหลายคนมักพูดถึงว่าเธรดมี จำกัด เนื่องจากไม่ได้ใช้ประโยชน์จากหลายคอร์ แต่ฉันจะบอกว่ามันยังมีประโยชน์เพราะทำงานไปพร้อม ๆ กันจึงทำให้ปริมาณงานรวมเสร็จเร็วขึ้น ฉันหมายความว่าทำไมถึงมีโมดูลเธรด Python เป็นอย่างอื่น? อัปเดต: ขอบคุณสำหรับคำตอบทั้งหมดจนถึงตอนนี้ วิธีที่ฉันเข้าใจก็คือการทำงานแบบมัลติเธรดจะทำงานแบบขนานสำหรับงาน IO บางงานเท่านั้น แต่สามารถรันได้ทีละงานสำหรับงานหลักที่เชื่อมโยงกับ CPU เท่านั้น ฉันไม่แน่ใจว่าสิ่งนี้มีความหมายอย่างไรสำหรับฉันในแง่ที่ใช้ได้จริงดังนั้นฉันจะยกตัวอย่างประเภทของงานที่ฉันต้องการทำมัลติเธรด ตัวอย่างเช่นสมมติว่าฉันต้องการวนซ้ำรายการสตริงที่ยาวมากและฉันต้องการดำเนินการกับสตริงพื้นฐานในแต่ละรายการ ถ้าฉันแยกรายการออกให้ส่งแต่ละรายการย่อยเพื่อประมวลผลโดยรหัสลูป / สตริงของฉันในเธรดใหม่และส่งผลลัพธ์กลับในคิวปริมาณงานเหล่านี้จะทำงานโดยประมาณพร้อมกันหรือไม่ ที่สำคัญที่สุดในทางทฤษฎีจะเร่งเวลาในการรันสคริปต์หรือไม่? อีกตัวอย่างหนึ่งอาจเป็นถ้าฉันสามารถเรนเดอร์และบันทึกรูปภาพที่แตกต่างกันสี่ภาพโดยใช้ PIL ในสี่เธรดที่แตกต่างกันและนี่จะเร็วกว่าการประมวลผลภาพทีละภาพหรือไม่? ฉันเดาว่าส่วนประกอบความเร็วนี้เป็นสิ่งที่ฉันสงสัยจริงๆมากกว่าคำศัพท์ที่ถูกต้องคืออะไร ฉันยังรู้เกี่ยวกับโมดูลการประมวลผลหลายขั้นตอน แต่ความสนใจหลักของฉันในตอนนี้คือการโหลดงานขนาดเล็กถึงกลาง (10-30 …

7
เหตุใดจึงคำนวณวันที่ตั้งแต่ 1 มกราคม 1970
มีเหตุผลใดบ้างที่ใช้วันที่ (1 มกราคม 1970) เป็นมาตรฐานเริ่มต้นสำหรับการปรับเวลา ฉันเคยเห็นมาตรฐานนี้ใน Java และใน Python สองภาษานี้ฉันรู้ มีภาษายอดนิยมอื่น ๆ ที่เป็นไปตามมาตรฐานเดียวกันหรือไม่? กรุณาอธิบาย

5
Django โดยใช้ get_user_model เทียบกับการตั้งค่า AUTH_USER_MODEL
การอ่านเอกสาร Django: get_user_model () แทนที่จะอ้างถึงผู้ใช้โดยตรงคุณควรอ้างอิงโมเดลผู้ใช้โดยใช้ django.contrib.auth.get_user_model () วิธีนี้จะส่งคืนรูปแบบผู้ใช้ที่ใช้งานอยู่ในปัจจุบัน - แบบจำลองผู้ใช้ที่กำหนดเองหากมีการระบุหรือผู้ใช้ เมื่อคุณกำหนดคีย์นอกหรือความสัมพันธ์แบบกลุ่มต่อกลุ่มให้กับโมเดลผู้ใช้คุณควรระบุโมเดลที่กำหนดเองโดยใช้การตั้งค่า AUTH_USER_MODEL ฉันสับสนกับข้อความด้านบน ฉันควรทำสิ่งนี้: author = models.ForeignKey(settings.AUTH_USER_MODEL) หรือนี่ ... author = models.ForeignKey(get_user_model()) ทั้งสองดูเหมือนจะได้ผล
99 python  django 

1
T และ Z หมายถึงอะไรในการประทับเวลา
ฉันมีค่าการประทับเวลาที่ส่งคืนโดยบริการเว็บ "2014-09-12T19:34:29Z" ฉันรู้ว่ามันหมายถึงเขตเวลา แต่มันหมายถึงอะไรกันแน่? และฉันกำลังพยายามล้อเลียนบริการเว็บนี้ดังนั้นมีวิธีสร้างการประทับเวลาโดยใช้strftimeใน python หรือไม่ ขออภัยหากสิ่งนี้ชัดเจนอย่างเจ็บปวด แต่ Google ก็ไม่มีประโยชน์มากนักและไม่ใช่strftime()หน้าอ้างอิง ฉันกำลังใช้สิ่งนี้: x.strftime("%Y-%m-%dT%H:%M:%S%Z") '2015-03-26T10:58:51'

5
ฉันจะติดตั้งแพ็คเกจ pip ทั่วโลกแทนที่จะติดตั้งภายในเครื่องได้อย่างไร
ฉันกำลังพยายามติดตั้งแพ็คเกจ flake8 โดยใช้ pip3 และดูเหมือนว่าจะปฏิเสธที่จะติดตั้งเนื่องจากติดตั้งในตำแหน่งที่ตั้งเดียวแล้ว ฉันจะบังคับให้ติดตั้งทั่วโลก (ระดับระบบ) ได้อย่างไร pip3 install flake8 Requirement already satisfied (use --upgrade to upgrade): flake8 in ./.local/lib/python3.4/site-packages โปรดทราบว่าฉันต้องการโซลูชันทั่วไป (ซึ่งควรใช้กับ Debian, OS X หรือแม้แต่ Windows) ซึ่งควรใช้กับแพลตฟอร์มใดก็ได้ดังนั้นฉันจึงไม่ต้องการระบุปลายทางด้วยตัวเอง ด้วยเหตุผลแปลก ๆ มันทำงานเหมือนที่ฉันระบุไว้แล้ว--userซึ่งในกรณีของฉันฉันไม่ได้ทำ วิธีเดียวที่ฉันสามารถติดตั้งแพ็กเกจได้ทั่วโลกคือการลบออกก่อนแล้วติดตั้งอีกครั้ง ดูเหมือนว่า pip (8.1.1) จะปฏิเสธที่จะติดตั้งแพ็คเกจทั่วโลกหากมีอยู่ในเครื่อง ข้อจำกัดความรับผิดชอบ: ไม่มีการใช้สภาพแวดล้อมเสมือนหรือได้รับอันตรายในระหว่างการทดลอง
99 python  pip 

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