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

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


16
กระแสงาน“ ข้อมูลขนาดใหญ่” โดยใช้แพนด้า
ฉันพยายามไขปริศนาคำตอบสำหรับคำถามนี้เป็นเวลาหลายเดือนในขณะที่เรียนรู้แพนด้า ฉันใช้ SAS สำหรับงานประจำวันของฉันและมันยอดเยี่ยมสำหรับการสนับสนุนนอกหลัก อย่างไรก็ตาม SAS นั้นน่ากลัวเหมือนชิ้นส่วนของซอฟต์แวร์ด้วยเหตุผลอื่น ๆ อีกมากมาย วันหนึ่งฉันหวังว่าจะเปลี่ยนการใช้ SAS ของฉันเป็น python และ pandas แต่ตอนนี้ฉันขาดเวิร์กโฟลว์นอกหลักสำหรับชุดข้อมูลขนาดใหญ่ ฉันไม่ได้พูดถึง "ข้อมูลขนาดใหญ่" ที่ต้องใช้เครือข่ายแบบกระจาย แต่ไฟล์ใหญ่เกินไปที่จะใส่ในหน่วยความจำ แต่เล็กพอที่จะใส่ลงในฮาร์ดไดรฟ์ ความคิดแรกของฉันคือการใช้HDFStoreเพื่อเก็บชุดข้อมูลขนาดใหญ่บนดิสก์และดึงเฉพาะส่วนที่ฉันต้องการลงใน dataframes สำหรับการวิเคราะห์ คนอื่น ๆ พูดถึง MongoDB ว่าเป็นทางเลือกที่ใช้งานง่ายกว่า คำถามของฉันคือ: ขั้นตอนการปฏิบัติที่ดีที่สุดสำหรับการทำสิ่งต่อไปนี้คืออะไร: การโหลดไฟล์แฟล็ตไปยังโครงสร้างฐานข้อมูลถาวรบนดิสก์ การสืบค้นฐานข้อมูลนั้นเพื่อดึงข้อมูลไปยังฟีดลงในโครงสร้างข้อมูลแพนด้า การอัพเดตฐานข้อมูลหลังจากจัดการกับชิ้นส่วนในนุ่น ตัวอย่างในโลกแห่งความเป็นจริงจะได้รับการชื่นชมอย่างมากโดยเฉพาะจากใครก็ตามที่ใช้หมีแพนด้ากับ "ข้อมูลขนาดใหญ่" แก้ไข - ตัวอย่างของวิธีที่ฉันต้องการให้ทำงาน: ทำซ้ำนำเข้าไฟล์แฟล็ตขนาดใหญ่และเก็บไว้ในโครงสร้างฐานข้อมูลถาวรบนดิสก์ โดยทั่วไปไฟล์เหล่านี้ใหญ่เกินไปที่จะใส่ในหน่วยความจำ ในการใช้ Pandas ฉันต้องการอ่านชุดย่อยของข้อมูลนี้ (โดยปกติจะมีคอลัมน์ไม่กี่คอลัมน์ในเวลาเดียวกัน) ที่สามารถใส่ในหน่วยความจำได้ ฉันจะสร้างคอลัมน์ใหม่โดยดำเนินการต่าง ๆ ในคอลัมน์ที่เลือก ฉันจะต้องผนวกคอลัมน์ใหม่เหล่านี้ลงในโครงสร้างฐานข้อมูล …

14
มัณฑนากร @property ทำงานอย่างไร
ฉันต้องการที่จะเข้าใจว่าฟังก์ชั่นในตัวทำงานpropertyอย่างไร สิ่งที่ทำให้ฉันสับสนคือpropertyสามารถใช้เป็นมัณฑนากรได้ แต่ใช้อาร์กิวเมนต์เมื่อใช้เป็นฟังก์ชันในตัวเท่านั้นไม่ใช่เมื่อใช้เป็นมัณฑนากร ตัวอย่างนี้มาจากเอกสาร : class C(object): def __init__(self): self._x = None def getx(self): return self._x def setx(self, value): self._x = value def delx(self): del self._x x = property(getx, setx, delx, "I'm the 'x' property.") propertyข้อโต้แย้งของมีgetx, setx, delxและสตริง doc ในรหัสด้านล่างpropertyใช้เป็นมัณฑนากร วัตถุของมันคือxฟังก์ชั่น แต่ในรหัสข้างต้นไม่มีสถานที่สำหรับฟังก์ชั่นวัตถุในการขัดแย้ง class C(object): def __init__(self): self._x = None @property …

23
การเพิ่มคอลัมน์ใหม่ไปยัง DataFrame ที่มีอยู่ใน Python python
ฉันมี DataFrame ที่มีการทำดัชนีต่อไปนี้ซึ่งมีชื่อคอลัมน์และแถวไม่ใช่ตัวเลขต่อเนื่อง: a b c d 2 0.671399 0.101208 -0.181532 0.241273 3 0.446172 -0.243316 0.051767 1.577318 5 0.614758 0.075793 -0.451460 -0.012493 ฉันต้องการเพิ่มคอลัมน์ใหม่'e'ลงในกรอบข้อมูลที่มีอยู่และไม่ต้องการเปลี่ยนแปลงอะไรในกรอบข้อมูล (เช่นคอลัมน์ใหม่จะมีความยาวเท่ากับ DataFrame เสมอ) 0 -0.335485 1 -1.166658 2 -0.385571 dtype: float64 ฉันจะเพิ่มคอลัมน์eลงในตัวอย่างด้านบนได้อย่างไร

30
ฉันจะได้รับเวลาในการดำเนินการของโปรแกรม Python ได้อย่างไร
ฉันมีโปรแกรมบรรทัดคำสั่งใน Python ที่ใช้เวลาสักครู่จึงจะเสร็จ ฉันต้องการทราบเวลาที่แน่นอนในการวิ่งให้เสร็จ ฉันดูtimeitโมดูลแล้ว แต่ดูเหมือนว่าจะเป็นเพียงโค้ดขนาดเล็กเท่านั้น ฉันต้องการเวลาโปรแกรมทั้งหมด
975 python  time 

24
จะอ่านไฟล์ข้อความในตัวแปรสตริงและตัดบรรทัดใหม่ได้อย่างไร
ฉันใช้ส่วนรหัสต่อไปนี้เพื่ออ่านไฟล์ในไพ ธ อน: with open ("data.txt", "r") as myfile: data=myfile.readlines() ไฟล์อินพุตคือ: LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE และเมื่อฉันพิมพ์ข้อมูลฉันจะได้รับ ['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN\n', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE'] ตามที่ฉันเห็นข้อมูลอยู่ในlistรูปแบบ ฉันจะทำให้มันสตริงได้อย่างไร และยังเป็นวิธีที่ฉันจะลบ"\n", "["และ"]"ตัวละครจากมันได้หรือไม่
963 python  string 


25
มีฟังก์ชันในตัวเพื่อพิมพ์คุณสมบัติและค่าปัจจุบันของวัตถุทั้งหมดหรือไม่?
ดังนั้นสิ่งที่ฉันกำลังมองหาที่นี่คือสิ่งที่ต้องการฟังก์ชั่นprint_rของ PHP นี่คือเพื่อให้ฉันสามารถแก้จุดบกพร่องสคริปต์ของฉันโดยดูว่าสถานะของวัตถุที่เป็นปัญหา


16
มิกซ์อินคืออะไรและทำไมจึงมีประโยชน์
ใน " Programming Python " Mark Markz พูดถึง "mixins" ฉันมาจากพื้นหลัง C / C ++ / C # และฉันไม่เคยได้ยินคำศัพท์มาก่อน มิกซ์อินคืออะไร? การอ่านระหว่างบรรทัดของตัวอย่างนี้ (ซึ่งฉันเชื่อมโยงเพราะมันค่อนข้างยาว) ฉันคิดว่ามันเป็นกรณีของการใช้การสืบทอดหลาย ๆ แบบเพื่อขยายชั้นเรียนซึ่งตรงข้ามกับการทำคลาสย่อย 'ที่เหมาะสม' ถูกต้องหรือไม่ เหตุใดฉันจึงต้องการทำเช่นนั้นแทนที่จะใส่ฟังก์ชันใหม่ลงในคลาสย่อย สำหรับเรื่องนั้นทำไมการผสมผสานมิกซ์ / การสืบทอดหลายวิธีจึงดีกว่าการใช้การแต่งเพลง? อะไรคือสิ่งที่แยกมิกซ์อินจากการสืบทอดหลาย ๆ ด้าน? มันเป็นเพียงเรื่องของความหมายหรือไม่?


22
สร้างซิงเกิลตันใน Python
คำถามนี้ไม่ได้มีไว้สำหรับการอภิปรายว่ารูปแบบการออกแบบซิงเกิลตันนั้นน่าพึงพอใจหรือไม่นั้นเป็นรูปแบบการต่อต้านหรือสงครามทางศาสนาใด ๆ แต่เพื่อพูดคุยว่ารูปแบบการใช้งานที่ดีที่สุดในไพ ธ อนนั้นเป็นไปได้อย่างไร ในกรณีนี้ฉันกำหนด 'pythonic ส่วนใหญ่จะหมายถึงว่ามันเป็นไปตามหลักการน้อยมหัศจรรย์' ฉันมีหลายชั้นเรียนซึ่งจะกลายเป็น singletons (กรณีใช้งานของฉันสำหรับคนตัดไม้ แต่นี่ไม่ใช่สิ่งสำคัญ) ฉันไม่ต้องการที่จะถ่วงเวลาเรียนหลายครั้งพร้อมกับเพิ่มชัยชนะเมื่อฉันสามารถสืบทอดหรือตกแต่ง วิธีการที่ดีที่สุด: วิธีที่ 1: มัณฑนากร def singleton(class_): instances = {} def getinstance(*args, **kwargs): if class_ not in instances: instances[class_] = class_(*args, **kwargs) return instances[class_] return getinstance @singleton class MyClass(BaseClass): pass ข้อดี มัณฑนากรเป็นสารเติมแต่งในลักษณะที่มักใช้งานง่ายกว่าการสืบทอดหลายแบบ จุดด้อย ในขณะที่วัตถุที่สร้างขึ้นโดยใช้ MyClass () จะเป็นวัตถุซิงเกิลจริง MyClass …

21
มีวิธีง่าย ๆ ในการลบองค์ประกอบรายการตามค่าหรือไม่
a = [1, 2, 3, 4] b = a.index(6) del a[b] print(a) ด้านบนแสดงข้อผิดพลาดต่อไปนี้: Traceback (most recent call last): File "D:\zjm_code\a.py", line 6, in <module> b = a.index(6) ValueError: list.index(x): x not in list ดังนั้นฉันต้องทำสิ่งนี้: a = [1, 2, 3, 4] try: b = a.index(6) del a[b] except: pass print(a) แต่ไม่มีวิธีที่ง่ายกว่านี้หรือไม่
942 python  list 


27
ฉันจะเรียงลำดับพจนานุกรมตามคีย์ได้อย่างไร
สิ่งที่จะเป็นวิธีที่ดีที่จะไปจาก{2:3, 1:89, 4:5, 3:0}ไป{1:89, 2:3, 3:0, 4:5}? ฉันตรวจสอบบางโพสต์ แต่พวกเขาทั้งหมดใช้ตัวดำเนินการ "เรียงลำดับ" ที่ส่งคืนทูเปิล

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