품목

놀랍지만 거의 알려지지 않은 Python 라이브러리

Python 프로그래머는 항상 데이터 엔지니어링 및 비즈니스 인텔리전스 프로젝트 작업을 개선할 수 있는 새로운 라이브러리를 찾고 있습니다.

이 기사에서는 잘 알려지지 않았지만 매우 유용한 Python 라이브러리를 볼 수 있습니다.

1. 진자

많은 라이브러리를 사용할 수 있지만 Python 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 라이브러리는 NLP 사용 사례에서 매우 유용한 Mojibake를 수정하는 데 도움이 됩니다.

설치
!pip 설치 ftfy
print(ftfy.fix_text('ftfy'x9d를 사용하여 문장을 수정하세요.')) print(ftfy.fix_text('✔ 텍스트에 문제가 없습니다.')) '))
산출

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는 Python에서 pandas 라이브러리로 작업하는 사용자를 위해 특별히 설계된 고유한 AI 코딩 도우미입니다. 기계 학습 알고리즘을 사용하여 사용자 데이터의 컨텍스트를 이해하고 관련 코드 제안을 제공하여 데이터 조작 및 분석 작업을 보다 쉽고 효율적으로 만듭니다. Sketch는 사용자가 IDE에 추가 ​​플러그인을 설치할 필요가 없으므로 빠르고 쉽게 사용할 수 있습니다. 이를 통해 데이터 관련 작업에 필요한 시간과 노력을 크게 줄이고 사용자가 더 우수하고 효율적인 코드를 작성할 수 있습니다.

설치
!pip 설치 스케치

이 라이브러리를 사용하려면 pandas 데이터 프레임에 .sketch 확장자를 추가해야 합니다.

.스케치.질문

문의 는 사용자가 자연어 형식으로 데이터에 대해 질문할 수 있는 Sketch의 기능입니다. 사용자의 질의에 대한 텍스트 기반 응답을 제공합니다.

# 라이브러리 가져오기 import sketch import pandas as pd # 데이터 읽기(트위터 데이터를 예로 사용) df = pd.read_csv("tweets.csv") print(df)
# 어떤 열이 범주 유형인지 묻기 df.sketch.ask("어떤 열이 범주 유형입니까?")
산출
# 데이터 프레임의 모양을 찾으려면 df.sketch.ask("데이터 프레임의 모양은 무엇입니까")

.스케치.하우투

하우투 다양한 데이터 관련 작업의 시작점 또는 끝점으로 사용할 수 있는 코드 블록을 제공하는 기능입니다. 데이터를 정규화하고, 새로운 기능을 만들고, 데이터를 추적하고, 모델을 구축하기 위해 코드 스니펫을 요청할 수 있습니다. 이렇게 하면 시간이 절약되고 코드를 쉽게 복사하여 붙여넣을 수 있습니다. 코드를 처음부터 수동으로 작성할 필요가 없습니다.

# 감정을 시각화하기 위해 잘라낸 코드 제공 요청 df.sketch.howto("Visualize the 감정")
산출

.스케치.적용

.apply 함수 새로운 기능을 생성하고, 필드를 구문 분석하고, 기타 데이터 조작을 수행하는 데 도움이 됩니다. 이 기능을 사용하려면 OpenAI 계정이 있어야 하고 API 키를 사용하여 작업을 수행해야 합니다. 나는 이 기능을 시도하지 않았다.

특히 이 라이브러리를 사용하는 것이 즐거웠습니다. 왔다 작동하고 유용하다고 생각합니다.

4. 지오코드

"pgeocode"는 최근에 우연히 발견한 내 공간 분석 프로젝트에 매우 유용한 훌륭한 라이브러리입니다. 예를 들어, 두 우편 번호 사이의 거리를 찾을 수 있고 국가와 우편 번호를 입력으로 받아 지리 정보를 제공합니다.

설치
!pip 설치 pgeocode

특정 우편번호에 대한 지리적 정보 얻기

# 국가 "인도" 확인 nomi = pgeocode.Nominatim('In') # 우편번호를 전달하여 지리 정보 얻기 nomi.query_postal_code(["620018", "620017", "620012"])
산출

"pgeocode"는 국가와 우편 번호를 입력으로 사용하여 두 우편 번호 사이의 거리를 계산합니다. 결과는 킬로미터로 표시됩니다.

# 두 우편번호 사이의 거리 찾기 distance = pgeocode.GeoDistance('In') distance.query_postal_code("620018", "620012")
산출

5. 렘그

rembg는 이미지에서 배경을 쉽게 제거하는 또 다른 유용한 라이브러리입니다.

설치
!pip 설치 rembg
# 라이브러리 가져오기
from rembg import remove import cv2 # 입력 이미지의 경로(내 파일: image.jpeg) input_path = 'image.jpeg' # 출력 이미지를 저장하고 output.jpeg로 저장하기 위한 경로 output_path = 'output.jpeg' # 입력 읽기 image input = cv2.imread(input_path) # 백그라운드 출력 제거 = remove(input) # 파일 저장 cv2.imwrite(output_path, output)
산출

이러한 라이브러리 중 일부는 이미 익숙할 수 있지만 저에게는 Sketch, Pendulum, pgeocode 및 ftfy가 제 데이터 엔지니어링 작업에 없어서는 안 될 것입니다. 나는 내 프로젝트를 위해 그들에게 많이 의존합니다.

6. 인간화

Humanize”는 숫자, 날짜 및 시간에 대해 간단하고 읽기 쉬운 문자열 형식을 제공합니다. 라이브러리의 목표는 예를 들어 초를 "2분 전"과 같이 더 읽기 쉬운 문자열로 변환하여 데이터를 가져오고 사용자에게 더 친숙하게 만드는 것입니다. 라이브러리는 쉼표로 숫자 서식 지정, 타임스탬프를 상대 시간으로 변환 등 다양한 방법으로 데이터 서식을 지정할 수 있습니다.

데이터 엔지니어링 프로젝트에 정수와 타임스탬프를 자주 사용합니다.

설치
!pip 설치 인간화
예(정수)
# 라이브러리 가져오기 import humanize import datetime as dt # 쉼표로 숫자 서식 지정 a = humanize.intcomma(951009) # 숫자를 단어로 변환 b = humanize.intword(10046328394) # 인쇄 print(a) print(b)
산출
예(날짜 및 시간)
import humanize import datetime as dt a = humanize.naturaldate(dt.date(2012, 6, 5)) b = humanize.naturalday(dt.date(2012, 6, 5)) print(a) print(b)

Ercole Palmeri

혁신 뉴스레터
혁신에 관한 가장 중요한 뉴스를 놓치지 마세요. 이메일로 받으려면 가입하세요.
태그 : 파이썬

최근 기사

미래가 여기에 있습니다: 해운 산업이 글로벌 경제를 어떻게 혁신하고 있습니까?

해군 부문은 150억 시장을 향해 항해해온 진정한 글로벌 경제강국입니다.

1 월 2024

출판사와 OpenAI, 인공지능이 처리하는 정보의 흐름을 규제하기 위한 계약 체결

지난 월요일, Financial Times는 OpenAI와의 계약을 발표했습니다. FT는 세계적 수준의 저널리즘에 라이선스를 부여합니다…

4월 30 2024

온라인 결제: 스트리밍 서비스를 통해 영원히 결제하는 방법은 다음과 같습니다.

수백만 명의 사람들이 스트리밍 서비스 비용을 지불하고 월간 구독료를 지불합니다. 당신은…

4월 29 2024

Veeam은 보호부터 대응, 복구까지 랜섬웨어에 대한 가장 포괄적인 지원을 제공합니다.

Coveware by Veeam은 계속해서 사이버 강탈 사건 대응 서비스를 제공할 것입니다. Coveware는 법의학 및 교정 기능을 제공할 것입니다…

4월 23 2024