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

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


12
ทำไมไพ ธ อนไม่มีฟังก์ชั่นสัญญาณ?
ฉันไม่เข้าใจว่าทำไม Python จึงไม่มีsignฟังก์ชั่น มันมีabsในตัว (ซึ่งผมคิดว่าsignน้องสาว) signแต่ไม่มี ใน python 2.6 มีcopysignฟังก์ชั่น (ในทางคณิตศาสตร์ ) แต่ไม่มีสัญญาณ ทำไมต้องเขียน a copysign(x,y)เมื่อคุณสามารถเขียน a signและได้รับcopysignโดยตรงจากabs(x) * sign(y)? หลังจะชัดเจนกว่านี้มาก: x ด้วยสัญลักษณ์ของ y ในขณะที่ copysign คุณต้องจำไว้ว่าถ้ามันเป็น x กับสัญลักษณ์ของ y หรือ y ด้วยสัญลักษณ์ของ x! เห็นได้ชัดsign(x)ว่าไม่ได้ให้อะไรมากไปกว่าcmp(x,0)แต่มันจะอ่านได้ง่ายกว่านี้อีกด้วย (และสำหรับภาษาที่อ่านได้อย่างมากเช่นไพ ธ อนมันน่าจะเป็นข้อดีอย่างมาก) ถ้าฉันเป็นนักออกแบบหลามผมจะได้รับวิธีการอื่น ๆ arond: ไม่มีcmpbuiltin signแต่ เมื่อคุณต้องการcmp(x,y)คุณสามารถทำsign(x-y)(หรือดียิ่งขึ้นสำหรับสิ่งที่ไม่ใช่ตัวเลขเพียงแค่ x> y - แน่นอนว่าสิ่งนี้ต้องได้sortedรับการยอมรับบูลีนแทนที่จะเป็นตัวเปรียบเทียบจำนวนเต็ม) สิ่งนี้จะมีความชัดเจนมากขึ้น: เป็นบวกเมื่อx>y(ในขณะที่cmpคุณต้องจำการประชุมเชิงบวกเมื่อแรกมีขนาดใหญ่กว่าแต่อาจเป็นวิธีอื่น …

10
ไม่พบคอมไพเลอร์ C ที่ยอมรับได้ใน $ PATH เมื่อติดตั้ง python
ฉันพยายามติดตั้งสภาพแวดล้อมหลามใหม่บนโฮสติ้งที่ใช้ร่วมกันของฉัน ฉันทำตามขั้นตอนที่เขียนในโพสต์นี้ : mkdir ~/src wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz tar -zxvf Python-2.7.1.tar.gz cd Python-2.7.1 mkdir ~/.localpython ./configure --prefix=/home/<user>/.localpython make make install หลังจากมาที่ "./configure --prefix = / home //. localpython" คำสั่งฉันได้รับผลลัพธ์ต่อไปนี้: checking for --enable-universalsdk... no checking for --with-universal-archs... 32-bit checking MACHDEP... linux3 checking EXTRAPLATDIR... checking machine type as reported by uname -m... x86_64 …

5
แปลงคอลัมน์ Pandas เป็น DateTime
ฉันมีหนึ่งฟิลด์ใน DataFrame แพนด้าที่ถูกอิมพอร์ตเป็นรูปแบบสตริง มันควรจะเป็นตัวแปร datetime ฉันจะแปลงเป็นคอลัมน์วันที่และเวลาแล้วกรองตามวันที่ ตัวอย่าง: ชื่อDataFrame : raw_data ชื่อคอลัมน์: Mycol รูปแบบค่าในคอลัมน์: '05SEP2014: 00: 00: 00.000'
241 python  datetime  pandas 

13
Python: ลบ \ xa0 จากสตริงหรือไม่
ขณะนี้ฉันกำลังใช้ Beautiful Soup เพื่อแยกไฟล์ HTML และการโทรget_text()ออก แต่ดูเหมือนว่าฉันถูกทิ้งให้อยู่กับ \ xa0 Unicode จำนวนมากแทนช่องว่าง มีวิธีที่มีประสิทธิภาพในการลบทั้งหมดใน Python 2.7 และเปลี่ยนเป็นช่องว่างหรือไม่ ฉันเดาคำถามทั่วไปมากขึ้นจะมีวิธีลบการจัดรูปแบบ Unicode หรือไม่ ฉันลองใช้: line = line.replace(u'\xa0',' ')ตามที่เธรดอื่นแนะนำ แต่เปลี่ยน \ xa0 เป็น u ดังนั้นตอนนี้ฉันมี "u" ทุกที่แทน ): แก้ไข: ปัญหาดูเหมือนว่าจะได้รับการแก้ไขstr.replace(u'\xa0', ' ').encode('utf-8')แต่เพียงทำ.encode('utf-8')โดยไม่replace()ดูเหมือนว่าจะทำให้มันคายออกแม้ตัวละคร Weirder \ xc2 เช่น มีใครอธิบายเรื่องนี้ได้บ้าง
241 python  parsing  unicode 


7
การรวมกันทั้งหมดของรายการของรายการ
โดยทั่วไปฉันกำลังมองหาชุดการรวมกันของหลามList<List<int>> รับรายการของรายการฉันต้องการรายการใหม่ที่ให้ชุดค่าผสมที่เป็นไปได้ทั้งหมดของรายการระหว่างรายการ [[1,2,3],[4,5,6],[7,8,9,10]] -> [[1,4,7],[1,4,8],...,[3,6,10]] จำนวนรายการไม่เป็นที่รู้จักดังนั้นฉันต้องการบางสิ่งที่เหมาะกับทุกกรณี คะแนนโบนัสเพื่อความสง่างาม!

30
แปลงวัตถุแถว sqlalchemy เพื่อหลามพจน์
มีวิธีง่ายๆในการวนซ้ำของชื่อคอลัมน์และคู่ค่าหรือไม่? เวอร์ชั่น sqlalchemy ของฉันคือ 0.5.6 นี่คือตัวอย่างรหัสที่ฉันพยายามใช้ dict (แถว) แต่มันมีข้อยกเว้น TypeError: วัตถุ 'ผู้ใช้' ไม่สามารถทำซ้ำได้ import sqlalchemy from sqlalchemy import * from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker print "sqlalchemy version:",sqlalchemy.__version__ engine = create_engine('sqlite:///:memory:', echo=False) metadata = MetaData() users_table = Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String), ) metadata.create_all(engine) class User(declarative_base()): …
240 python  sqlalchemy 

29
จำเป็นต้องใช้ Microsoft Visual C ++ 14.0 (ไม่พบ vcvarsall.bat)
ฉันได้ติดตั้ง Python 3.5 และในขณะที่ใช้งาน pip install mysql-python มันทำให้ฉันมีข้อผิดพลาดดังต่อไปนี้ error: Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat) ฉันได้เพิ่มบรรทัดต่อไปนี้ในเส้นทางของฉัน C:\Program Files\Python 3.5\Scripts\; C:\Program Files\Python 3.5\; C:\Windows\System32; C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC; C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC ฉันมีการติดตั้ง 64 บิต win 7 ในพีซีของฉัน pipสิ่งที่อาจจะแก้ปัญหาสำหรับการบรรเทาข้อผิดพลาดนี้และติดตั้งโมดูลได้อย่างถูกต้องผ่าน

6
ทำไมฟังก์ชั่น 'ใช้' ของนุ่นถึงการอ้างอิงหลายคอลัมน์ทำงานไม่ได้ [ปิด]
ปิด. คำถามนี้เป็นคำถามที่ไม่สามารถทำซ้ำหรือเกิดจากความผิดพลาด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดเมื่อปีที่แล้ว ปรับปรุงคำถามนี้ ฉันมีปัญหาบางอย่างเกี่ยวกับฟังก์ชั่นการใช้หมีแพนด้าเมื่อใช้หลายคอลัมน์ด้วยดาต้าเฟรมต่อไปนี้ df = DataFrame ({'a' : np.random.randn(6), 'b' : ['foo', 'bar'] * 3, 'c' : np.random.randn(6)}) และฟังก์ชั่นดังต่อไปนี้ def my_test(a, b): return a % b เมื่อฉันพยายามใช้ฟังก์ชั่นนี้กับ: df['Value'] = df.apply(lambda row: my_test(row[a], row[c]), axis=1) ฉันได้รับข้อความแสดงข้อผิดพลาด: NameError: ("global name 'a' is not defined", u'occurred …

18
ฉันจะตรวจสอบเวอร์ชั่น Python ในโปรแกรมที่ใช้คุณสมบัติภาษาใหม่ได้อย่างไร?
หากฉันมีสคริปต์ Python ที่ต้องการ Python อย่างน้อยหนึ่งรุ่นวิธีที่ถูกต้องในการทำให้ล้มเหลวคืออะไรเมื่อใช้ Python เวอร์ชันก่อนหน้าเพื่อเริ่มต้นสคริปต์ ฉันจะควบคุมได้เร็วพอที่จะออกข้อความแสดงข้อผิดพลาดและออกได้อย่างไร ตัวอย่างเช่นฉันมีโปรแกรมที่ใช้ตัวดำเนินการ ternery (ใหม่ใน 2.5) และ "with" blocks (ใหม่ใน 2.6) ฉันเขียนรูทีนตัวตรวจสอบรุ่นล่ามเล็ก ๆ ง่ายๆซึ่งเป็นสิ่งแรกที่สคริปต์จะเรียก ... ยกเว้นว่ามันจะไปได้ไกลขนาดนั้น แต่สคริปต์ล้มเหลวในระหว่างการรวบรวมหลามก่อนที่ฉันจะเรียกรูทีน ดังนั้นผู้ใช้งานของสคริปต์จึงเห็นข้อผิดพลาดในการติดตามข้อผิดพลาดของ synax ที่ค่อนข้างคลุมเครือซึ่งค่อนข้างต้องใช้ผู้เชี่ยวชาญในการอนุมานว่าเป็นเพียงการเรียกใช้ Python เวอร์ชันผิด ฉันรู้วิธีตรวจสอบเวอร์ชั่นของ Python ปัญหาคือไวยากรณ์บางอย่างผิดกฎหมายใน Python เวอร์ชันเก่า พิจารณาโปรแกรมนี้: import sys if sys.version_info < (2, 4): raise "must use python 2.5 or greater" else: # …
239 python  version 


15
ฉันจะอ่านไฟล์ข้อความขนาดใหญ่ใน Python ทีละบรรทัดโดยไม่โหลดลงในหน่วยความจำได้อย่างไร
ฉันต้องอ่านไฟล์ขนาดใหญ่ทีละบรรทัด ให้บอกว่าไฟล์มีมากกว่า 5GB และฉันต้องอ่านแต่ละบรรทัด แต่เห็นได้ชัดว่าฉันไม่ต้องการใช้readlines()เพราะจะสร้างรายการที่มีขนาดใหญ่มากในหน่วยความจำ รหัสด้านล่างจะทำงานอย่างไรสำหรับกรณีนี้ เป็นxreadlinesตัวเองอ่านหนึ่งโดยหนึ่งในหน่วยความจำ? นิพจน์ตัวสร้างจำเป็นหรือไม่? f = (line for line in open("log.txt").xreadlines()) # how much is loaded in memory? f.next() นอกจากนี้ฉันต้องทำอย่างไรเพื่ออ่านสิ่งนี้ในลำดับย้อนกลับเช่นเดียวกับtailคำสั่งLinux ฉันพบ: http://code.google.com/p/pytailer/ และ " python head, tail และ backward read โดยบรรทัดของไฟล์ข้อความ " ทั้งสองทำงานได้ดีมาก!
239 python 

9
วิธีรวมค่าทั้งหมดในพจนานุกรมได้อย่างไร
สมมติว่าฉันมีพจนานุกรมที่ปุ่มจับคู่กับจำนวนเต็มเช่น: d = {'key1': 1,'key2': 14,'key3': 47} มีวิธีการที่เรียบง่ายในการซินdแทกติกเพื่อคืนค่าผลรวมของ- 62ในกรณีนี้หรือไม่?
239 python  dictionary  hash  sum 

21
ฉันจะเข้าสู่ระบบในขณะที่ใช้มัลติโปรเซสเซอร์ใน Python ได้อย่างไร
ตอนนี้ผมมีโมดูลกลางในกรอบที่ spawns กระบวนการหลายโดยใช้ Python 2.6 โมดูลmultiprocessing เพราะมันใช้multiprocessingมีระดับโมดูลบันทึก multiprocessing LOG = multiprocessing.get_logger()ทราบ ต่อเอกสารตัวบันทึกนี้มีการล็อกที่ใช้ร่วมกันในกระบวนการเพื่อให้คุณไม่สับสนกับสิ่งต่างsys.stderrๆ ปัญหาที่ฉันมีตอนนี้คือโมดูลอื่น ๆ ในกรอบไม่ได้ประมวลผลแบบหลายตัวรู้ วิธีที่ฉันเห็นฉันต้องทำการอ้างอิงทั้งหมดในโมดูลกลางนี้โดยใช้การบันทึกแบบมัลติโพรเซสซิง นั่นเป็นสิ่งที่น่ารำคาญภายในเฟรมเวิร์กนับประสาสำหรับลูกค้าทั้งหมดของเฟรมเวิร์ก มีทางเลือกอื่นที่ฉันไม่คิดหรือไม่

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