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

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

15
Python super () ทำงานอย่างไรกับหลายมรดก
ฉันค่อนข้างใหม่ในการเขียนโปรแกรมเชิงวัตถุของ Python และฉันมีปัญหาในการเข้าใจsuper()ฟังก์ชั่น (คลาสสไตล์ใหม่) โดยเฉพาะอย่างยิ่งเมื่อพูดถึงการสืบทอดหลาย ๆ อย่าง ตัวอย่างเช่นถ้าคุณมีสิ่งที่ชอบ: class First(object): def __init__(self): print "first" class Second(object): def __init__(self): print "second" class Third(First, Second): def __init__(self): super(Third, self).__init__() print "that's it" สิ่งที่ฉันไม่ได้รับคือ: Third()ชั้นเรียนจะสืบทอดทั้งตัวสร้างวิธีการหรือไม่ ถ้าใช่แล้วจะใช้อันไหนกับ super () และทำไมล่ะ และถ้าคุณต้องการเรียกใช้อีกอันหนึ่ง ฉันรู้ว่ามันมีบางอย่างเกี่ยวกับการสั่งซื้อการแก้ไขวิธี Python ( MRO )

30
วิธีการเปลี่ยนลำดับของคอลัมน์ DataFrame
ฉันมีดังต่อไปนี้DataFrame( df): import numpy as np import pandas as pd df = pd.DataFrame(np.random.rand(10, 5)) ฉันเพิ่มคอลัมน์เพิ่มเติมโดยการมอบหมาย: df['mean'] = df.mean(1) ฉันจะย้ายคอลัมน์meanไปไว้ด้านหน้าได้เช่นตั้งเป็นคอลัมน์แรกโดยไม่เรียงลำดับของคอลัมน์อื่น ๆ
877 python  pandas  dataframe 

24
ฉันจะดาวน์โหลดไฟล์ผ่าน HTTP โดยใช้ Python ได้อย่างไร
ฉันมียูทิลิตี้ขนาดเล็กที่ฉันใช้เพื่อดาวน์โหลดไฟล์ MP3 จากเว็บไซต์ตามกำหนดเวลาจากนั้นสร้าง / อัปเดตไฟล์พอดคาสต์ XML ที่ฉันเพิ่มลงใน iTunes การประมวลผลข้อความที่สร้าง / อัปเดตไฟล์ XML นั้นเขียนด้วย Python อย่างไรก็ตามฉันใช้ wget ใน.batไฟล์Windows เพื่อดาวน์โหลดไฟล์ MP3 ที่แท้จริง ฉันต้องการเขียนโปรแกรมอรรถประโยชน์ทั้งหมดใน Python wgetฉันพยายามที่จะหาวิธีที่จะจริงดาวน์โหลดไฟล์ในหลามที่เป็นเหตุผลว่าทำไมผมจึงหันไปใช้ ดังนั้นฉันจะดาวน์โหลดไฟล์โดยใช้ Python ได้อย่างไร
874 python  http  urllib 

22
การตรวจจับจุดสูงสุดในอาร์เรย์ 2D
ฉันกำลังช่วยคลินิกสัตวแพทย์ในการวัดความดันภายใต้อุ้งเท้าสุนัข ฉันใช้ Python สำหรับการวิเคราะห์ข้อมูลของฉันและตอนนี้ฉันกำลังพยายามแบ่งอุ้งเท้าออกเป็นส่วนย่อย (กายวิภาค) ฉันสร้างอาร์เรย์สองมิติของอุ้งเท้าแต่ละตัวซึ่งประกอบด้วยค่าสูงสุดสำหรับเซ็นเซอร์แต่ละตัวที่อุ้งมือเมื่อเวลาผ่านไป นี่คือตัวอย่างของอุ้งเท้าหนึ่งซึ่งฉันใช้ Excel เพื่อวาดพื้นที่ที่ฉันต้องการ 'ตรวจสอบ' กล่องเหล่านี้มีขนาด 2 x 2 รอบเซ็นเซอร์พร้อม maxima ท้องถิ่นซึ่งมีขนาดใหญ่ที่สุด ดังนั้นฉันจึงลองทำการทดลองและตัดสินใจที่จะมองหาค่าสูงสุดของแต่ละคอลัมน์และแถว (ไม่สามารถมองในทิศทางเดียวเนื่องจากรูปร่างของอุ้งเท้า) ดูเหมือนว่า 'ตรวจจับ' ตำแหน่งของนิ้วเท้าแยกจากกันค่อนข้างดี แต่มันก็ทำเครื่องหมายเซ็นเซอร์ที่อยู่ใกล้เคียง ดังนั้นจะเป็นวิธีที่ดีที่สุดในการบอก Python ว่าค่าสูงสุดเหล่านี้คือสิ่งที่ฉันต้องการหรือไม่ หมายเหตุ: สี่เหลี่ยม 2x2 ไม่สามารถซ้อนทับกันได้เนื่องจากจะต้องแยกนิ้วเท้าออก! นอกจากนี้ฉันยังใช้ 2x2 เพื่ออำนวยความสะดวกอีกทั้งยังยินดีต้อนรับวิธีแก้ปัญหาขั้นสูงอีกด้วย แต่ฉันเป็นเพียงนักวิทยาศาสตร์การเคลื่อนไหวของมนุษย์ดังนั้นฉันจึงไม่ใช่โปรแกรมเมอร์หรือนักคณิตศาสตร์ที่แท้จริงดังนั้นโปรดทำให้มันง่าย นี่คือรุ่นที่สามารถโหลดได้np.loadtxt ผล ดังนั้นฉันจึงลองวิธีแก้ปัญหาของ @ jextee (ดูผลลัพธ์ด้านล่าง) อย่างที่คุณเห็นมันทำงานได้ดีบนอุ้งเท้าหน้า แต่มันทำงานได้ไม่ดีนักสำหรับขาหลัง โดยเฉพาะอย่างยิ่งมันไม่สามารถจดจำจุดสูงสุดเล็ก ๆ นั่นคือนิ้วเท้าที่สี่ เห็นได้ชัดว่านี่เป็นสิ่งที่เกิดขึ้นจริงจากการที่ลูปดูจากบนลงล่างถึงค่าต่ำสุดโดยไม่คำนึงถึงว่ามันอยู่ที่ไหน มีใครบ้างที่รู้วิธีปรับแต่งอัลกอริทึมของ @ jextee เพื่อที่จะสามารถหานิ้วเท้าที่ …

16
ฉันจะติดตั้งแพ็กเกจ Python ด้วยไฟล์. hll ได้อย่างไร
ฉันมีปัญหาในการติดตั้งแพ็กเกจ Python บนเครื่อง Windows ของฉันและต้องการติดตั้งด้วยไบนารีของหน้าต่าง Christoph Gohlke (ซึ่งจากประสบการณ์ของฉันช่วยลดความยุ่งยากมากสำหรับการติดตั้งแพ็คเกจอื่น ๆ ) อย่างไรก็ตามมีไฟล์. hl เท่านั้นที่พร้อมใช้งาน http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype แต่ฉันจะติดตั้งไฟล์. what ได้อย่างไร หมายเหตุ ฉันพบเอกสารบนพวงมาลัยแล้ว แต่ดูเหมือนว่ามันจะไม่ง่ายนักในการอธิบายวิธีการติดตั้งไฟล์. คำถามนี้ซ้ำกับคำถามนี้ซึ่งไม่ได้ตอบโดยตรง

25
เพิ่มหนึ่งแถวใน DataFrame แพนด้า
ผมเข้าใจว่าหมีแพนด้าถูกออกแบบมาเพื่อโหลดประชากรอย่างเต็มที่DataFrameแต่ฉันจำเป็นต้องสร้าง DataFrame ว่างแล้วเพิ่มแถวหนึ่งโดยหนึ่ง วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร? ฉันสร้าง DataFrame ที่ว่างเปล่าเรียบร้อยแล้วด้วย: res = DataFrame(columns=('lib', 'qty1', 'qty2')) จากนั้นฉันสามารถเพิ่มแถวใหม่และกรอกข้อมูลด้วย: res = res.set_value(len(res), 'qty1', 10.0) มันใช้งานได้ แต่ดูเหมือนแปลกมาก: - / (มันล้มเหลวในการเพิ่มค่าสตริง) ฉันจะเพิ่มแถวใหม่ใน DataFrame ของฉัน (ด้วยคอลัมน์ประเภทอื่น) ได้อย่างไร

24
รับคีย์ด้วยค่าสูงสุดในพจนานุกรมหรือไม่
ฉันมีdictionary: คีย์คือสตริงค่าเป็นจำนวนเต็ม ตัวอย่าง: stats = {'a':1000, 'b':3000, 'c': 100} ฉันต้องการได้'b'รับคำตอบเนื่องจากเป็นกุญแจสำคัญที่มีมูลค่าสูงกว่า ฉันทำสิ่งต่อไปนี้โดยใช้รายการระดับกลางที่มี tuples คีย์ - ค่าที่กลับรายการ: inverse = [(value, key) for key, value in stats.items()] print max(inverse)[1] นั่นเป็นวิธีที่ดีกว่า (หรือสวยงามกว่า)
867 python  dictionary  max 

6
วิธีการวนซ้ำสองรายการในแบบคู่ขนานได้อย่างไร
ฉันมีสอง iterables ในหลามและฉันต้องการไปพวกเขาเป็นคู่: foo = (1, 2, 3) bar = (4, 5, 6) for (f, b) in some_iterator(foo, bar): print "f: ", f, "; b: ", b มันควรจะส่งผลใน: f: 1; b: 4 f: 2; b: 5 f: 3; b: 6 วิธีหนึ่งในการทำเช่นนี้คือการย้ำเหนือดัชนี: for i in xrange(len(foo)): print "f: ", foo[i], "; …

3
วิธีที่ดีที่สุดในการแปลงสตริงเป็นไบต์ใน Python 3
ดูเหมือนจะมีสองวิธีในการแปลงสตริงเป็นไบต์ตามที่เห็นในคำตอบของTypeError: 'str' ไม่รองรับส่วนต่อประสานบัฟเฟอร์ วิธีใดต่อไปนี้จะดีกว่าหรือไพ ธ อน หรือมันเป็นเพียงเรื่องของการตั้งค่าส่วนตัว? b = bytes(mystring, 'utf-8') b = mystring.encode('utf-8')

14
รายการความเข้าใจกับตัวกรองแลมบ์ดา +
ฉันพบว่าตัวเองมีความจำเป็นในการกรองขั้นพื้นฐาน: ฉันมีรายการและฉันต้องกรองตามคุณลักษณะของรายการ รหัสของฉันดูเหมือนว่านี้: my_list = [x for x in my_list if x.attribute == value] แต่ฉันก็คิดว่ามันคงจะดีกว่าถ้าเขียนมันแบบนี้? my_list = filter(lambda x: x.attribute == value, my_list) สามารถอ่านได้มากขึ้นและหากจำเป็นสำหรับการแสดงแลมบ์ดาสามารถนำออกมาเพื่อรับบางสิ่งได้ คำถามคือมีคำเตือนในการใช้วิธีที่สองหรือไม่? มีความแตกต่างด้านประสิทธิภาพหรือไม่ ฉันทำ Pythonic Way ™หายไปทั้งหมดและควรทำในวิธีอื่น (เช่นใช้ itemgetter แทนที่จะเป็นแลมบ์ดา) หรือไม่?

20
วิธีคัดลอกพจนานุกรมและแก้ไขเฉพาะสำเนา
ใครช่วยอธิบายสิ่งนี้ให้ฉันได้ไหม นี่ไม่สมเหตุสมผลเลยสำหรับฉัน ฉันคัดลอกพจนานุกรมไปที่อื่นและแก้ไขครั้งที่สองและทั้งคู่เปลี่ยนไป ทำไมสิ่งนี้จึงเกิดขึ้น >>> dict1 = {"key1": "value1", "key2": "value2"} >>> dict2 = dict1 >>> dict2 {'key2': 'value2', 'key1': 'value1'} >>> dict2["key2"] = "WHY?!" >>> dict1 {'key2': 'WHY?!', 'key1': 'value1'}

30
ข้อผิดพลาด: ไม่พบ vcvarsall.bat
ฉันพยายามติดตั้งแพ็กเกจ Python dulwich : pip install dulwich แต่ฉันได้รับข้อความแสดงข้อผิดพลาดที่เป็นความลับ: error: Unable to find vcvarsall.bat สิ่งเดียวกันจะเกิดขึ้นหากฉันลองติดตั้งแพ็คเกจด้วยตนเอง: > python setup.py install running build_ext building 'dulwich._objects' extension error: Unable to find vcvarsall.bat

18
ฉันจะลบ / ลบโฟลเดอร์ที่ไม่ว่างได้อย่างไร
ฉันได้รับข้อผิดพลาด 'การเข้าถึงถูกปฏิเสธ' เมื่อฉันพยายามลบโฟลเดอร์ที่ไม่ว่างเปล่า ฉันใช้คำสั่งต่อไปนี้ในความพยายามของฉัน: os.remove("/folder_name"). วิธีที่มีประสิทธิภาพที่สุดในการลบ / ลบโฟลเดอร์ / ไดเรกทอรีที่ไม่ว่างคืออะไร?
847 python  file 

3
ทำไมรหัสไพ ธ อนจึงทำงานได้เร็วขึ้นในฟังก์ชั่น?
def main(): for i in xrange(10**8): pass main() รหัสชิ้นนี้ใน Python ทำงานใน (หมายเหตุ: การจับเวลาเสร็จสิ้นด้วยฟังก์ชั่นเวลาใน BASH ใน Linux) real 0m1.841s user 0m1.828s sys 0m0.012s อย่างไรก็ตามหาก for for ไม่ได้อยู่ในฟังก์ชัน for i in xrange(10**8): pass จากนั้นมันจะทำงานเป็นเวลานาน: real 0m4.543s user 0m4.524s sys 0m0.012s ทำไมนี้

30
วิธีสร้างคลาส JSON ที่ทำให้เป็นอนุกรม
จะทำให้คลาส Python เป็นอนุกรมได้อย่างไร คลาสง่าย ๆ : class FileItem: def __init__(self, fname): self.fname = fname ฉันควรทำอย่างไรเพื่อให้ได้ผลลัพธ์: >>> import json >>> my_file = FileItem('/foo/bar') >>> json.dumps(my_file) TypeError: Object of type 'FileItem' is not JSON serializable โดยไม่มีข้อผิดพลาด

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