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

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

3
การรับดัชนีของแถวในแพนด้าใช้ฟังก์ชัน
ฉันกำลังพยายามเข้าถึงดัชนีของแถวในฟังก์ชั่นที่นำไปใช้ทั่วทั้งรายการDataFrameใน Pandas ฉันมีสิ่งนี้: df = pandas.DataFrame([[1,2,3],[4,5,6]], columns=['a','b','c']) >>> df a b c 0 1 2 3 1 4 5 6 และฉันจะกำหนดฟังก์ชันที่เข้าถึงองค์ประกอบด้วยแถวที่กำหนด def rowFunc(row): return row['a'] + row['b'] * row['c'] ฉันสามารถใช้มันได้ดังนี้: df['d'] = df.apply(rowFunc, axis=1) >>> df a b c d 0 1 2 3 7 1 4 5 6 34 …
121 python  pandas  dataframe 

8
เลือกรายการจากรายการหรือทูเพิลอย่างชัดเจน
ฉันมีรายการ Python ต่อไปนี้ (อาจเป็นทูเพิลก็ได้): myList = ['foo', 'bar', 'baz', 'quux'] ฉันสามารถพูด >>> myList[0:3] ['foo', 'bar', 'baz'] >>> myList[::2] ['foo', 'baz'] >>> myList[1::2] ['bar', 'quux'] ฉันจะเลือกรายการที่ดัชนีไม่มีรูปแบบเฉพาะเจาะจงได้อย่างไร [0,2,3]ตัวอย่างเช่นผมต้องการที่จะเลือก หรือจากรายการใหญ่มากของ 1000 [87, 342, 217, 998, 500]รายการฉันต้องการที่จะเลือก มีไวยากรณ์ Python บางตัวที่ทำเช่นนั้นหรือไม่? สิ่งที่ดูเหมือน: >>> myBigList[87, 342, 217, 998, 500]
121 python  list  select  indexing  tuples 


10
กฎไวยากรณ์สำหรับการมีเครื่องหมายจุลภาคต่อท้ายในคำจำกัดความทูเพิลคืออะไร?
ในกรณีของทูเปิลองค์ประกอบเดียวจำเป็นต้องใช้เครื่องหมายจุลภาคต่อท้าย a = ('foo',) สิ่งที่เกี่ยวกับทูเปิลที่มีหลายองค์ประกอบ? ดูเหมือนว่าไม่ว่าจะมีเครื่องหมายจุลภาคต่อท้ายหรือไม่ทั้งคู่ก็ใช้ได้ ถูกต้องหรือไม่ การมีเครื่องหมายจุลภาคต่อท้ายนั้นง่ายกว่าสำหรับการแก้ไขในความคิดของฉัน เป็นรูปแบบการเข้ารหัสที่ไม่ดีหรือไม่? a = ('foo1', 'foo2') b = ('foo1', 'foo2',)
121 python  syntax  tuples 

3
numpy.histogram () ทำงานอย่างไร?
ในขณะที่อ่านบน numpy numpy.histogram()ผมพบฟังก์ชั่น มีไว้ทำอะไรและทำงานอย่างไร? ในเอกสารพวกเขากล่าวถึงถังขยะ : พวกเขาคืออะไร? บาง googling นำฉันไปที่ความหมายของ Histograms ทั่วไป ฉันเข้าใจ. แต่น่าเสียดายที่ฉันไม่สามารถเชื่อมโยงความรู้นี้กับตัวอย่างที่ให้ไว้ในเอกสารได้
121 python  numpy  histogram 

14
ฉันจะรับ dict จากแบบสอบถาม sqlite ได้อย่างไร
db = sqlite.connect("test.sqlite") res = db.execute("select * from table") ด้วยการทำซ้ำฉันจะได้รับรายการ coresponding ไปยังแถว for row in res: print row ฉันสามารถหาชื่อคอลัมน์ได้ col_name_list = [tuple[0] for tuple in res.description] แต่มีฟังก์ชันหรือการตั้งค่าบางอย่างเพื่อรับพจนานุกรมแทนรายการหรือไม่? {'col1': 'value', 'col2': 'value'} หรือต้องทำเอง?

7
เหตุใดสตริงว่างจึงถูกส่งคืนในผลลัพธ์ Split ()
จุด'/segment/segment/'.split('/')กลับรถ['', 'segment', 'segment', '']คืออะไร? สังเกตองค์ประกอบที่ว่างเปล่า หากคุณกำลังแยกตัวคั่นที่อยู่ในตำแหน่งที่หนึ่งและอยู่ท้ายสุดของสตริงค่าพิเศษใดที่ให้ค่าสตริงว่างที่ส่งคืนจากปลายแต่ละด้าน
121 python  string  split 

11
จะเขียนลงไฟล์ excel ที่มีอยู่โดยไม่เขียนทับข้อมูล (โดยใช้แพนด้า) ได้อย่างไร?
ฉันใช้แพนด้าเขียนลงในไฟล์ excel ในลักษณะต่อไปนี้: import pandas writer = pandas.ExcelWriter('Masterfile.xlsx') data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save() Masterfile.xlsx ประกอบด้วยแท็บต่างๆอยู่แล้ว อย่างไรก็ตามยังไม่มี "Main" หมีแพนด้าเขียนลงในแผ่นงาน "หลัก" อย่างถูกต้องขออภัยที่มันลบแท็บอื่น ๆ ทั้งหมดด้วย

12
วนซ้ำค่าพจนานุกรมที่ซ้อนกันทั้งหมดหรือไม่
for k, v in d.iteritems(): if type(v) is dict: for t, c in v.iteritems(): print "{0} : {1}".format(t, c) ฉันพยายามวนผ่านพจนานุกรมและพิมพ์คู่ค่าคีย์ทั้งหมดโดยที่ค่านั้นไม่ใช่พจนานุกรมที่ซ้อนกัน หากค่าเป็นพจนานุกรมฉันต้องการป้อนและพิมพ์คู่ค่าคีย์ของมัน ... ฯลฯ ความช่วยเหลือใด ๆ แก้ไข แล้วเรื่องนี้ล่ะ? มันยังคงพิมพ์เพียงสิ่งเดียว def printDict(d): for k, v in d.iteritems(): if type(v) is dict: printDict(v) else: print "{0} : {1}".format(k, v) กรณีทดสอบแบบเต็ม พจนานุกรม: {u'xml': {u'config': …
121 python  dictionary 

9
เรียงลำดับอาร์เรย์จำนวนมากอย่างมีประสิทธิภาพหรือไม่?
ฉันกำลังประหลาดใจคำถามเฉพาะนี้ยังไม่ได้รับการถามก่อน np.sortแต่ผมไม่คิดว่ามันในดังนั้นไม่เกี่ยวกับเอกสารของ สมมติว่าฉันมีอาร์เรย์แบบสุ่มที่ถือจำนวนเต็มเช่น: > temp = np.random.randint(1,10, 10) > temp array([2, 4, 7, 4, 2, 2, 7, 6, 4, 4]) ถ้าฉันเรียงลำดับฉันจะเรียงลำดับจากน้อยไปมากโดยค่าเริ่มต้น: > np.sort(temp) array([2, 2, 2, 4, 4, 4, 4, 6, 7, 7]) แต่ฉันต้องการแก้ปัญหาที่จะเรียงจากมากไปน้อยการสั่งซื้อ ตอนนี้ฉันรู้ว่าฉันทำได้เสมอ: reverse_order = np.sort(temp)[::-1] แต่คำสั่งสุดท้ายนี้มีประสิทธิภาพหรือไม่? มันไม่ได้สร้างสำเนาจากน้อยไปหามากแล้วย้อนกลับสำเนานี้เพื่อให้ได้ผลลัพธ์ในลำดับที่กลับกันใช่หรือไม่? หากเป็นเช่นนั้นจริงมีทางเลือกอื่นที่มีประสิทธิภาพหรือไม่? ดูเหมือนไม่np.sortยอมรับพารามิเตอร์เพื่อเปลี่ยนเครื่องหมายของการเปรียบเทียบในการดำเนินการเรียงลำดับเพื่อให้ได้สิ่งต่างๆในลำดับย้อนกลับ
121 python  arrays  sorting  numpy 

11
ค้นหาค่าสูงสุดของคอลัมน์และส่งคืนค่าแถวที่เกี่ยวข้องโดยใช้ Pandas
การใช้ Python Pandas ฉันพยายามค้นหาCountry& Placeด้วยค่าสูงสุด สิ่งนี้ส่งคืนค่าสูงสุด: data.groupby(['Country','Place'])['Value'].max() แต่วิธีการที่ฉันจะได้รับที่สอดคล้องกันCountryและPlaceชื่อ?
121 python  pandas  dataframe  max 

6
วิธีจัดการข้อยกเว้นในการทำความเข้าใจรายการ?
ฉันมีความเข้าใจรายการใน Python ซึ่งการวนซ้ำแต่ละครั้งอาจทำให้เกิดข้อยกเว้นได้ ตัวอย่างเช่นถ้าฉันมี: eggs = (1,3,0,3,2) [1/egg for egg in eggs] ฉันจะได้รับZeroDivisionErrorข้อยกเว้นในองค์ประกอบที่ 3 ฉันจะจัดการกับข้อยกเว้นนี้และดำเนินการทำความเข้าใจรายการต่อไปได้อย่างไร วิธีเดียวที่ฉันคิดได้คือใช้ฟังก์ชันตัวช่วย: def spam(egg): try: return 1/egg except ZeroDivisionError: # handle division by zero error # leave empty for now pass แต่มันดูยุ่งยากสำหรับฉัน มีวิธีที่ดีกว่านี้ใน Python หรือไม่? หมายเหตุ: นี่เป็นตัวอย่างง่ายๆ (ดู " ตัวอย่าง " ด้านบน) ที่ฉันจัดทำขึ้นเนื่องจากตัวอย่างจริงของฉันต้องการบริบทบางอย่าง ฉันไม่สนใจที่จะหลีกเลี่ยงการหารด้วยข้อผิดพลาดเป็นศูนย์ แต่ในการจัดการข้อยกเว้นในการทำความเข้าใจรายการ

9
pip หรือ pip3 เพื่อติดตั้งแพ็คเกจสำหรับ Python 3?
ฉันมี Macbook ที่มี OS X El Captain ฉันคิดว่าPython 2.7มันติดตั้งมาล่วงหน้าแล้ว อย่างไรก็ตามฉันติดตั้งPython 3.5ด้วย เมื่อฉันเริ่มใช้Python 3ฉันอ่านว่าถ้าฉันต้องการติดตั้งแพ็คเกจฉันควรพิมพ์: pip3 install some_package อย่างไรก็ตามตอนนี้เมื่อฉันใช้ pip install some_package ฉันได้รับการsome_packageติดตั้งสำหรับPython 3. ฉันหมายความว่าฉันสามารถนำเข้าและใช้งานได้โดยไม่มีปัญหา นอกจากนี้เมื่อฉันพิมพ์เพียงpip3ในTerminalฉันได้รับข้อความนี้เกี่ยวกับการใช้งาน: Usage: pip <command> [options] pipซึ่งเป็นข้อความเดียวกันที่ฉันได้รับเมื่อฉันพิมพ์เพียง มันหมายความว่าในรุ่น previos สิ่งที่แตกต่างกันและตอนนี้pipและpip3สามารถใช้แทนกันได้? ถ้าเป็นเช่นนั้นและเพื่อประโยชน์ในการโต้แย้งฉันจะติดตั้งแพ็กเกจPython 2แทนได้Python 3อย่างไร


3
ข้อผิดพลาด“ ValueError: ชื่อฟิลด์ความยาวเป็นศูนย์ในรูปแบบ” ใน Python 3.0,3.1,3.2
ฉันกำลังพยายามเรียนรู้ Python (3 เพื่อให้เจาะจงมากขึ้น) และได้รับข้อผิดพลาดนี้: ValueError: zero length field name in format ฉัน googled มันและพบว่าคุณต้องระบุตัวเลข: a, b = 0, 1 if a < b: print('a ({0}) is less than b ({1})'.format(a, b)) else: print('a ({0}) is not less than b ({1})'.format(a, b)) และไม่เหมือนบทช่วยสอน (จาก lynda.com) บอกว่าให้ทำ: a, b = 0, …
120 python  debugging 

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