บทความ

ห้องสมุด Python ที่น่าทึ่ง แต่ไม่ค่อยมีใครรู้จัก

โปรแกรมเมอร์ Python มักจะมองหาไลบรารี่ใหม่ๆ อยู่เสมอ ซึ่งสามารถปรับปรุงงานในโครงการวิศวกรรมข้อมูลและข่าวกรองธุรกิจ

ในบทความนี้เราจะเห็นไลบรารี่หลามที่ไม่ค่อยมีใครรู้จัก แต่มีประโยชน์มาก:

1. ลูกตุ้ม

แม้ว่าจะมีห้องสมุดหลายแห่งให้บริการใน หลาม สำหรับ DateTime ฉันพบว่า Pendulum ใช้งานง่ายกับการดำเนินการวันที่ใดๆ ลูกตุ้มเป็นตู้หนังสือที่ฉันโปรดปรานสำหรับใช้ทุกวันในที่ทำงาน ขยายโมดูล Python datetime ในตัว เพิ่ม API ที่ใช้งานง่ายยิ่งขึ้นสำหรับการจัดการโซนเวลาและการดำเนินการวันที่และเวลา เช่น การเพิ่มช่วงเวลา การลบวันที่ และการแปลงระหว่างโซนเวลา ให้ API ที่ง่ายและใช้งานง่ายสำหรับการจัดรูปแบบวันที่และเวลา

การติดตั้ง
!pip install pendulum
ตัวอย่าง
# import library

import pendulum
dt = pendulum.datetime(2023, 1, 31)
print(dt)
 
#local() creates datetime instance with local timezone

local = pendulum.local(2023, 1, 31)
print("Local Time:", local)
print("Local Time Zone:", local.timezone.name)

# Printing UTC time

utc = pendulum.now('UTC')
print("Current UTC time:", utc)
 
# Converting UTC timezone into Europe/Paris time

europe = utc.in_timezone('Europe/Paris')
print("Current time in Paris:", europe)
เอาท์พุต

2. ฟีฟาย

คุณเคยพบเมื่อภาษาต่างประเทศในข้อมูลไม่ปรากฏอย่างถูกต้องหรือไม่? สิ่งนี้เรียกว่าโมจิเบค Mojibake เป็นคำที่ใช้อธิบายข้อความที่อ่านไม่ออกหรือมีสัญญาณรบกวนซึ่งเกิดขึ้นจากปัญหาในการเข้ารหัสหรือถอดรหัส มักเกิดขึ้นเมื่อข้อความที่เขียนด้วยการเข้ารหัสอักขระตัวเดียวถูกถอดรหัสอย่างไม่ถูกต้องโดยใช้การเข้ารหัสอื่น ไลบรารี ftfy python จะช่วยแก้ไข Mojibake ซึ่งมีประโยชน์มากในกรณีใช้ NLP

การติดตั้ง
!pip ติดตั้ง ftfy
ตัวอย่าง
พิมพ์(ftfy.fix_text('แก้ไขประโยคโดยใช้ “ftfyâ€\x9d.')) พิมพ์(ftfy.fix_text('âœ" ไม่มีปัญหากับข้อความ')) พิมพ์(ftfy.fix_text('à perturber la réflexion '))
เอาท์พุต

นอกจาก Mojibake แล้ว ftfy จะแก้ไขการเข้ารหัสที่ไม่ดี การลงท้ายบรรทัดที่ไม่ดี และคำพูดที่ไม่ดี อาจเข้าใจข้อความที่ถูกถอดรหัสเป็นหนึ่งในการเข้ารหัสต่อไปนี้:

  • ภาษาละติน-1 (ISO-8859–1)
  • Windows-1252 (cp1252 — ใช้ในผลิตภัณฑ์ของ Microsoft)
  • Windows-1251 (cp1251 — cp1252 เวอร์ชันรัสเซีย)
  • Windows-1250 (cp1250 — รุ่น cp1252 ของยุโรปตะวันออก)
  • ISO-8859–2 (ซึ่งไม่เหมือนกับ Windows-1250 ทุกประการ)
  • MacRoman (ใช้กับ Mac OS 9 ขึ้นไป)
  • cp437 (ใช้ใน MS-DOS และพรอมต์คำสั่ง Windows บางเวอร์ชัน)

3. ร่าง

Sketch เป็นผู้ช่วยเขียนโค้ด AI ที่ไม่เหมือนใครซึ่งออกแบบมาโดยเฉพาะสำหรับผู้ใช้ที่ทำงานกับไลบรารีแพนด้าใน Python ใช้อัลกอริทึมการเรียนรู้ของเครื่องเพื่อทำความเข้าใจบริบทของข้อมูลผู้ใช้และให้คำแนะนำโค้ดที่เกี่ยวข้องเพื่อให้การจัดการและวิเคราะห์ข้อมูลง่ายขึ้นและมีประสิทธิภาพมากขึ้น Sketch ไม่ต้องการให้ผู้ใช้ติดตั้งปลั๊กอินเพิ่มเติมใน IDE ทำให้ใช้งานได้ง่ายและรวดเร็ว สิ่งนี้สามารถลดเวลาและความพยายามที่จำเป็นสำหรับงานที่เกี่ยวข้องกับข้อมูลได้อย่างมาก และช่วยให้ผู้ใช้เขียนโค้ดได้ดีขึ้นและมีประสิทธิภาพมากขึ้น

การติดตั้ง
!pip ร่างการติดตั้ง
ตัวอย่าง

เราจำเป็นต้องเพิ่มนามสกุล .sketch ให้กับ pandas dataframe เพื่อใช้ไลบรารีนี้

.sketch.ถาม

ถาม เป็นคุณลักษณะของ Sketch ที่ช่วยให้ผู้ใช้สามารถถามคำถามเกี่ยวกับข้อมูลของตนในรูปแบบภาษาธรรมชาติ ให้คำตอบตามข้อความสำหรับคำถามของผู้ใช้

# การนำเข้าไลบรารี นำเข้าภาพร่าง นำเข้าหมีแพนด้าเป็น pd # การอ่านข้อมูล (โดยใช้ข้อมูล twitter เป็นตัวอย่าง) df = pd.read_csv("tweets.csv") พิมพ์(df)
# การถามว่าคอลัมน์ใดเป็นประเภทประเภท df.sketch.ask ("คอลัมน์ใดเป็นประเภทประเภท")
เอาท์พุต
# หากต้องการค้นหารูปร่างของ dataframe df.sketch.ask("รูปร่างของ dataframe คืออะไร")

.sketch.howto

howto เป็นคุณลักษณะที่ให้กลุ่มรหัสที่สามารถใช้เป็นจุดเริ่มต้นหรือจุดสิ้นสุดสำหรับงานที่เกี่ยวข้องกับข้อมูลต่างๆ เราสามารถขอตัวอย่างโค้ดเพื่อปรับข้อมูลให้เป็นมาตรฐาน สร้างคุณสมบัติใหม่ ติดตามข้อมูล และแม้แต่สร้างโมเดล สิ่งนี้จะช่วยประหยัดเวลาและทำให้ง่ายต่อการคัดลอกและวางโค้ด คุณไม่จำเป็นต้องเขียนโค้ดด้วยตนเองตั้งแต่เริ่มต้น

# ขอโค้ดสนิปสำหรับการแสดงอารมณ์ df.sketch.howto("แสดงภาพอารมณ์")
เอาท์พุต

.sketch.สมัคร

ฟังก์ชัน .apply ช่วยสร้างคุณสมบัติใหม่ แยกวิเคราะห์ฟิลด์ และดำเนินการจัดการข้อมูลอื่นๆ ในการใช้คุณสมบัตินี้ เราจำเป็นต้องมีบัญชี OpenAI และใช้คีย์ API เพื่อดำเนินการ ฉันไม่ได้ลองใช้คุณลักษณะนี้

ฉันชอบใช้ห้องสมุดนี้โดยเฉพาะ อย่างไร มันใช้งานได้และฉันคิดว่ามันมีประโยชน์

4. รหัสพีจีโอ

“pgeocode” เป็นห้องสมุดที่ยอดเยี่ยมที่ฉันเพิ่งค้นพบว่ามีประโยชน์อย่างเหลือเชื่อสำหรับโครงการวิเคราะห์เชิงพื้นที่ของฉัน ตัวอย่างเช่น ช่วยให้คุณค้นหาระยะห่างระหว่างรหัสไปรษณีย์สองรหัสและให้ข้อมูลทางภูมิศาสตร์โดยป้อนประเทศและรหัสไปรษณีย์เป็นอินพุต

การติดตั้ง
!pip ติดตั้ง pgeocode
ตัวอย่าง

รับข้อมูลทางภูมิศาสตร์สำหรับรหัสไปรษณีย์เฉพาะ

# กำลังตรวจสอบประเทศ "อินเดีย" nomi = pgeocode.Nominatim('In') # รับข้อมูลทางภูมิศาสตร์โดยส่งรหัสไปรษณีย์ nomi.query_postal_code(["620018", "620017", "620012"])
เอาท์พุต

“pgeocode” คำนวณระยะห่างระหว่างรหัสไปรษณีย์ XNUMX รหัสโดยรับข้อมูลประเทศและรหัสไปรษณีย์ ผลลัพธ์จะแสดงเป็นกิโลเมตร

# การหาระยะทางระหว่างรหัสไปรษณีย์สองอัน Distance = pgeocode.GeoDistance('In') Distance.query_postal_code("620018", "620012")
เอาท์พุต

5. ความจำเสื่อม

rembg เป็นอีกหนึ่งไลบรารีที่มีประโยชน์ที่สามารถลบพื้นหลังออกจากรูปภาพได้อย่างง่ายดาย

การติดตั้ง
!pip ติดตั้ง rembg
ตัวอย่าง
# นำเข้าห้องสมุด
จากการนำเข้า rembg ลบเส้นทางนำเข้า cv2 # ของอิมเมจอินพุต (ไฟล์ของฉัน: image.jpeg) input_path = 'image.jpeg' # เส้นทางสำหรับบันทึกอิมเมจเอาต์พุตและบันทึกเป็น output.jpeg output_path = 'output.jpeg' # การอ่านอินพุต อินพุตรูปภาพ = cv2.imread(input_path) # การลบเอาต์พุตพื้นหลัง = ลบ(อินพุต) # กำลังบันทึกไฟล์ cv2.imwrite(output_path, เอาต์พุต)
เอาท์พุต

คุณอาจคุ้นเคยกับไลบรารีเหล่านี้มาบ้างแล้ว แต่สำหรับผม Sketch, Pendulum, pgeocode และ ftfy เป็นสิ่งที่ขาดไม่ได้สำหรับงานด้านวิศวกรรมข้อมูลของผม ฉันพึ่งพาพวกเขามากสำหรับโครงการของฉัน

6. มีมนุษยธรรม

Humanize” ให้การจัดรูปแบบสตริงที่เรียบง่ายและอ่านง่ายสำหรับตัวเลข วันที่ และเวลา เป้าหมายของไลบรารีคือการนำข้อมูลไปใช้และทำให้เป็นมิตรกับผู้ใช้มากขึ้น ตัวอย่างเช่น โดยการแปลงจำนวนวินาทีให้เป็นสตริงที่อ่านง่ายขึ้น เช่น "2 นาทีที่แล้ว" ไลบรารีสามารถจัดรูปแบบข้อมูลได้หลายวิธี รวมถึงการจัดรูปแบบตัวเลขด้วยเครื่องหมายจุลภาค การแปลงการประทับเวลาเป็นเวลาสัมพัทธ์ และอื่นๆ

ฉันมักจะใช้จำนวนเต็มและการประทับเวลาสำหรับโครงการวิศวกรรมข้อมูลของฉัน

การติดตั้ง
!pip ติดตั้งทำให้เป็นมนุษย์
ตัวอย่าง (จำนวนเต็ม)
# การนำเข้าไลบรารี่ นำเข้าข้อมูลวันที่และเวลานำเข้าในรูปแบบ dt
เอาท์พุต
ตัวอย่าง (วันที่และเวลา)
นำเข้าทำให้เป็นมนุษย์ นำเข้าวันที่และเวลาเป็น dt a = humanize.naturaldate(dt.date(2012, 6, 5)) b = humanize.naturalday(dt.date(2012, 6, 5)) print(a) print(b)

Ercole Palmeri

จดหมายข่าวนวัตกรรม
อย่าพลาดข่าวสารที่สำคัญที่สุดเกี่ยวกับนวัตกรรม ลงทะเบียนเพื่อรับพวกเขาทางอีเมล
คีย์เวิร์ด: หลาม

บทความล่าสุด

การชำระเงินออนไลน์: นี่คือวิธีที่บริการสตรีมมิ่งทำให้คุณชำระเงินตลอดไป

ผู้คนนับล้านชำระค่าบริการสตรีมมิ่ง โดยจ่ายค่าธรรมเนียมการสมัครสมาชิกรายเดือน เป็นความเห็นทั่วไปที่คุณ...

29 2024 เมษายน

Veeam มีการสนับสนุนแรนซัมแวร์ที่ครอบคลุมที่สุด ตั้งแต่การป้องกันไปจนถึงการตอบสนองและการกู้คืน

Coveware by Veeam จะยังคงให้บริการตอบสนองต่อเหตุการณ์การขู่กรรโชกทางไซเบอร์ต่อไป Coveware จะนำเสนอความสามารถในการนิติเวชและการแก้ไข...

23 2024 เมษายน

การปฏิวัติสีเขียวและดิจิทัล: การบำรุงรักษาเชิงคาดการณ์กำลังเปลี่ยนแปลงอุตสาหกรรมน้ำมันและก๊าซอย่างไร

การบำรุงรักษาเชิงคาดการณ์กำลังปฏิวัติภาคส่วนน้ำมันและก๊าซ ด้วยแนวทางเชิงรุกและนวัตกรรมในการจัดการโรงงาน...

22 2024 เมษายน

หน่วยงานกำกับดูแลการต่อต้านการผูกขาดของสหราชอาณาจักรส่งสัญญาณเตือน BigTech เกี่ยวกับ GenAI

UK CMA ได้ออกคำเตือนเกี่ยวกับพฤติกรรมของ Big Tech ในตลาดปัญญาประดิษฐ์ ที่นั่น…

18 2024 เมษายน

อ่านนวัตกรรมในภาษาของคุณ

จดหมายข่าวนวัตกรรม
อย่าพลาดข่าวสารที่สำคัญที่สุดเกี่ยวกับนวัตกรรม ลงทะเบียนเพื่อรับพวกเขาทางอีเมล

ติดตามเรา