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

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

5
ทำไมคุณต้องสร้างเคอร์เซอร์เมื่อทำการค้นหาฐานข้อมูล sqlite?
ฉันยังใหม่กับโมดูล sqlite3 ของ Python (และ SQL โดยทั่วไปสำหรับเรื่องนั้น) และสิ่งนี้ทำให้ฉันสะดุด การขาดคำอธิบายเกี่ยวกับcursorวัตถุจำนวนมาก (แต่ความจำเป็นของพวกมัน) ก็ดูแปลกเช่นกัน ข้อมูลโค้ดนี้เป็นวิธีที่ต้องการในการทำสิ่งต่างๆ: import sqlite3 conn = sqlite3.connect("db.sqlite") c = conn.cursor() c.execute('''insert into table "users" values ("Jack Bauer", "555-555-5555")''') conn.commit() c.close() อันนี้ไม่ใช่แม้ว่ามันจะใช้งานได้ดีและไม่มี (ดูเหมือนไม่มีจุดหมาย) cursor: import sqlite3 conn = sqlite3.connect("db.sqlite") conn.execute('''insert into table "users" values ("Jack Bauer", "555-555-5555")''') conn.commit() ใครช่วยบอกทีว่าทำไมต้องมีcursor? ดูเหมือนว่าไม่มีจุดหมายเหนือศีรษะ สำหรับทุกวิธีในสคริปต์ของฉันที่เข้าถึงฐานข้อมูลฉันควรจะสร้างและทำลายcursor? …
133 python  sqlite  cursor 

11
วิธีย้ายโมเดลระหว่างสองแอพ Django (Django 1.7)
ประมาณหนึ่งปีที่แล้วฉันเริ่มโครงการและเช่นเดียวกับนักพัฒนาใหม่ ๆ ทุกคนฉันไม่ได้ให้ความสำคัญกับโครงสร้างมากนัก แต่ตอนนี้ฉันอยู่ร่วมกับ Django ต่อไปมันเริ่มปรากฏว่าเค้าโครงโครงการของฉันส่วนใหญ่โมเดลของฉันมีโครงสร้างที่น่ากลัว . ฉันมีโมเดลที่จัดขึ้นเป็นหลักในแอพเดียวและโมเดลเหล่านี้ส่วนใหญ่ควรอยู่ในแต่ละแอพของตัวเองฉันได้ลองแก้ไขและย้ายไปทางทิศใต้ แต่ฉันพบว่ามันยุ่งยากและยากมากเนื่องจากมีคีย์ต่างประเทศ อย่างไรก็ตามเนื่องจาก Django 1.7 และสร้างขึ้นเพื่อรองรับการย้ายข้อมูลมีวิธีที่ดีกว่าในการดำเนินการตอนนี้หรือไม่?

10
หมีแพนด้าแปลงดาต้าเฟรมเป็นอาร์เรย์ของทูเปิล
ฉันได้จัดการข้อมูลบางอย่างโดยใช้แพนด้าและตอนนี้ฉันต้องการบันทึกแบทช์กลับไปที่ฐานข้อมูล สิ่งนี้ต้องการให้ฉันแปลงดาต้าเฟรมเป็นอาร์เรย์ของทูเปิลโดยแต่ละทูเพิลจะสอดคล้องกับ "แถว" ของดาต้าเฟรม DataFrame ของฉันมีลักษณะดังนี้: In [182]: data_set Out[182]: index data_date data_1 data_2 0 14303 2012-02-17 24.75 25.03 1 12009 2012-02-16 25.00 25.07 2 11830 2012-02-15 24.99 25.15 3 6274 2012-02-14 24.68 25.05 4 2302 2012-02-13 24.62 24.77 5 14085 2012-02-10 24.38 24.61 ฉันต้องการแปลงเป็นอาร์เรย์ของสิ่งต่อไปนี้: [(datetime.date(2012,2,17),24.75,25.03), (datetime.date(2012,2,16),25.00,25.07), ...etc. ] ข้อเสนอแนะใด …
133 python  pandas 

8
ฉันจะติดตั้ง Python 3 เวอร์ชันก่อนหน้าใน macOS โดยใช้ homebrew ได้อย่างไร
ฉันจะติดตั้ง Python 3 เวอร์ชันก่อนหน้าใน macOS โดยใช้ brew ได้อย่างไร ด้วยคำสั่งbrew install pythonฉันได้รับ Python 3 เวอร์ชันล่าสุด (ปัจจุบันคือ v3.7.0) แต่ฉันต้องการเวอร์ชันสุดท้ายของ Python 3.6 (ปัจจุบันคือ 3.6.5) ฉันได้อ่านเกี่ยวกับแพ็คเกจอื่นpyenvที่สามารถช่วยในการจัดการการติดตั้ง python ที่แตกต่างกันได้ แต่วิธีนี้ไม่เหมาะกับฉัน
133 python  macos  homebrew 


13
สร้างตัวเลขสุ่มด้วยการแจกแจง (ตัวเลข) ที่กำหนด
ฉันมีไฟล์ที่มีความน่าจะเป็นสำหรับค่าต่างๆเช่น: 1 0.1 2 0.05 3 0.05 4 0.2 5 0.4 6 0.2 ฉันต้องการสร้างตัวเลขสุ่มโดยใช้การแจกแจงนี้ มีโมดูลที่จัดการกับสิ่งนี้อยู่หรือไม่ การเขียนโค้ดด้วยตัวคุณเองค่อนข้างง่าย (สร้างฟังก์ชันความหนาแน่นสะสมสร้างค่าสุ่ม [0,1] และเลือกค่าที่สอดคล้องกัน) แต่ดูเหมือนว่าปัญหานี้จะเป็นปัญหาทั่วไปและอาจมีคนสร้างฟังก์ชัน / โมดูลสำหรับ มัน. ฉันต้องการสิ่งนี้เพราะฉันต้องการสร้างรายการวันเกิด (ซึ่งไม่เป็นไปตามการแจกแจงใด ๆ ในrandomโมดูลมาตรฐาน)
133 python  module  random 

4
Python pandas: เติมดาต้าเฟรมทีละแถว
งานง่ายๆในการเพิ่มแถวให้กับpandas.DataFrameวัตถุดูเหมือนจะทำได้ยาก มีคำถามเกี่ยวกับ stackoverflow 3 คำถามซึ่งไม่มีคำถามใดให้คำตอบที่ใช้ได้ นี่คือสิ่งที่ฉันพยายามทำ ฉันมี DataFrame ซึ่งฉันรู้จักรูปร่างตลอดจนชื่อของแถวและคอลัมน์แล้ว >>> df = pandas.DataFrame(columns=['a','b','c','d'], index=['x','y','z']) >>> df a b c d x NaN NaN NaN NaN y NaN NaN NaN NaN z NaN NaN NaN NaN ตอนนี้ฉันมีฟังก์ชั่นในการคำนวณค่าของแถวซ้ำ ๆ ฉันจะกรอกหนึ่งในแถวด้วยพจนานุกรมหรือ a pandas.Series? ความพยายามต่างๆที่ล้มเหลวมีดังนี้ >>> y = {'a':1, 'b':5, 'c':2, 'd':3} >>> df['y'] …
133 python  dataframe  row  pandas 

6
เรียกใช้ฟังก์ชันคลาสภายใน __init__
ฉันกำลังเขียนโค้ดที่ใช้ชื่อไฟล์เปิดไฟล์และแยกวิเคราะห์ข้อมูลบางอย่าง ฉันต้องการทำสิ่งนี้ในชั้นเรียน รหัสต่อไปนี้ใช้งานได้: class MyClass(): def __init__(self, filename): self.filename = filename self.stat1 = None self.stat2 = None self.stat3 = None self.stat4 = None self.stat5 = None def parse_file(): #do some parsing self.stat1 = result_from_parse1 self.stat2 = result_from_parse2 self.stat3 = result_from_parse3 self.stat4 = result_from_parse4 self.stat5 = result_from_parse5 parse_file() แต่มันเกี่ยวข้องกับการที่ฉันวางกลไกการแยกวิเคราะห์ทั้งหมดไว้ในขอบเขตของ__init__ฟังก์ชันสำหรับคลาสของฉัน ตอนนี้ดูดีสำหรับโค้ดแบบง่ายนี้ แต่ฟังก์ชันparse_fileนี้ก็มีการเยื้องระดับค่อนข้างน้อยเช่นกัน …
133 python  class 

5
ตัวอย่างที่สมบูรณ์ของ logging.config.dictConfig อยู่ที่ไหน
ฉันต้องการใช้dictConfigแต่เอกสารประกอบเป็นนามธรรมเล็กน้อย ฉันจะหาตัวอย่างที่เป็นรูปธรรมสำเนา + วางของพจนานุกรมที่ใช้กับได้dictConfigที่ไหน


4
numpy max เทียบกับ amax เทียบกับ maximum
numpy มีฟังก์ชันที่แตกต่างกันสามฟังก์ชันซึ่งดูเหมือนว่าสามารถใช้กับสิ่งเดียวกันได้ยกเว้นว่าnumpy.maximumสามารถใช้ได้เฉพาะองค์ประกอบที่ชาญฉลาดในขณะที่numpy.maxและnumpy.amaxสามารถใช้ได้กับแกนเฉพาะหรือองค์ประกอบทั้งหมด ทำไมถึงมีมากกว่าแค่numpy.max? มีความละเอียดอ่อนในการแสดงหรือไม่? (ในทำนองเดียวกันminกับaminเทียบกับminimum)
133 python  numpy  math  max 

12
วันที่ python ของเดือนก่อนหน้า
ฉันพยายามหาวันที่ของเดือนก่อนด้วย python นี่คือสิ่งที่ฉันได้ลอง: str( time.strftime('%Y') ) + str( int(time.strftime('%m'))-1 ) อย่างไรก็ตามวิธีนี้ไม่ดีด้วยเหตุผล 2 ประการประการแรกจะส่งคืน 20122 สำหรับเดือนกุมภาพันธ์ของปี 2012 (แทนที่จะเป็น 201202) และประการที่สองจะส่งคืน 0 แทนที่จะเป็น 12 ในเดือนมกราคม ฉันได้แก้ไขปัญหานี้ด้วยการทุบตี echo $(date -d"3 month ago" "+%G%m%d") ฉันคิดว่าถ้า bash มีวิธีในตัวเพื่อจุดประสงค์นี้ python ที่มีอุปกรณ์ครบครันกว่ามากควรให้สิ่งที่ดีกว่าการบังคับให้เขียนสคริปต์ของตัวเองเพื่อให้บรรลุเป้าหมายนี้ แน่นอนฉันสามารถทำบางสิ่งเช่น: if int(time.strftime('%m')) == 1: return '12' else: if int(time.strftime('%m')) < 10: return '0'+str(time.strftime('%m')-1) else: …
133 python  date  time 

3
สมุดบันทึก ipython ล้างเอาต์พุตเซลล์ในรหัส
ในโน้ตบุ๊ก iPython ฉันมี while loop ที่ฟังพอร์ต Serial และprintข้อมูลที่ได้รับแบบเรียลไทม์ สิ่งที่ฉันต้องการบรรลุเพื่อแสดงเฉพาะข้อมูลที่ได้รับล่าสุด (เช่นบรรทัดเดียวเท่านั้นที่แสดงข้อมูลล่าสุดไม่มีการเลื่อนในพื้นที่เอาต์พุตของเซลล์) สิ่งที่ฉันต้องการ (ฉันคิดว่า) คือการล้างเอาต์พุตเซลล์เก่าเมื่อฉันได้รับข้อมูลใหม่จากนั้นพิมพ์ข้อมูลใหม่ ฉันสงสัยว่าฉันจะล้างข้อมูลเก่าโดยใช้โปรแกรมได้อย่างไร

20
ฉันจะเข้ารหัสร้อนใน Python ได้อย่างไร
ฉันมีปัญหาการจัดหมวดหมู่แมชชีนเลิร์นนิงที่มีตัวแปรตามหมวดหมู่ 80% ฉันต้องใช้การเข้ารหัสแบบร้อนครั้งเดียวหรือไม่หากฉันต้องการใช้ลักษณนามสำหรับการจัดประเภท ฉันสามารถส่งข้อมูลไปยังลักษณนามโดยไม่ต้องเข้ารหัสได้หรือไม่ ฉันพยายามทำสิ่งต่อไปนี้เพื่อเลือกคุณสมบัติ: ฉันอ่านไฟล์รถไฟ: num_rows_to_read = 10000 train_small = pd.read_csv("../../dataset/train.csv", nrows=num_rows_to_read) ฉันเปลี่ยนประเภทของคุณสมบัติหมวดหมู่เป็น 'หมวดหมู่': non_categorial_features = ['orig_destination_distance', 'srch_adults_cnt', 'srch_children_cnt', 'srch_rm_cnt', 'cnt'] for categorical_feature in list(train_small.columns): if categorical_feature not in non_categorial_features: train_small[categorical_feature] = train_small[categorical_feature].astype('category') ฉันใช้การเข้ารหัสร้อนหนึ่งรายการ: train_small_with_dummies = pd.get_dummies(train_small, sparse=True) ปัญหาคือส่วนที่ 3 มักจะติดขัดแม้ว่าฉันจะใช้เครื่องแรง ดังนั้นหากไม่มีการเข้ารหัสที่ร้อนแรงฉันไม่สามารถทำการเลือกคุณสมบัติใด ๆ เพื่อกำหนดความสำคัญของคุณสมบัติได้ คุณแนะนำเมนูใด?

4
จะใช้ newline '\ n' ใน f-string เพื่อจัดรูปแบบเอาต์พุตใน Python 3.6 ได้อย่างไร
ฉันต้องการทราบวิธีจัดรูปแบบเคสนี้ด้วยวิธี Pythonic ด้วย f-strings: names = ['Adam', 'Bob', 'Cyril'] text = f"Winners are:\n{'\n'.join(names)}" print(text) ปัญหาคือ'\'ไม่สามารถใช้ภายใน{...}ส่วนนิพจน์ของ f-string ผลลัพธ์ที่คาดหวัง: Winners are: Adam Bob Cyril

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