파이썬

    sort와 sorted의 차이점

    파이썬에서 리스트를 정렬하는 작업은 매우 빈번하게 발생합니다. 이를 위해 sort와 sorted 두 가지 함수가 제공되는데, 이들은 유사한 기능을 제공하면서도 중요한 차이점을 가지고 있습니다. 1. sort() 기능: 리스트를 직접 변경하여 정렬합니다. 반환 값: None (리스트 자체를 변경합니다) my_list = [5, 2, 4, 1, 3] # 리스트를 직접 정렬 my_list.sort() print(my_list) # [1, 2, 3, 4, 5] 2. sorted() 기능: 리스트를 새롭게 만들어 정렬 결과를 반환합니다. 반환 값: 정렬된 새로운 리스트 my_list = [5, 2, 4, 1, 3] # 새 리스트를 만들어 정렬 결과 반환 sorted_list = sorted(my_list) pri..

    ChatGPT API의 function_call

    function_call이란? function_call은 ChatGPT API가 사전 정의된 함수와 상호 작용하도록 하는 기능입니다. 개발자는 실제 세계의 작업이나 데이터 검색 작업을 나타내는 함수를 정의합니다. 모델은 대화에서 적절한 상황을 발견하면 다음과 같은 작업을 수행할 수 있습니다. 프롬프트 또는 대화 기록에 따라 function_call의 필요성을 인식합니다. 함수에 필요한 인수를 나타내는 JSON을 생성합니다. 이 JSON을 애플리케이션 코드에 전달하여 함수를 실행합니다. 함수 결과를 대화 흐름에 다시 통합합니다. function_call의 장점 구조화된 데이터 추출: extract_data(name, age)와 같은 함수를 사용하여 텍스트에서 특정 데이터를 추출합니다. API 통합: sen..

    문자열에 원하는 문자를 추가하는 방법

    블로그 게시물 작성, 소셜 미디어 게시물 공유, 데이터 분석 등 다양한 상황에서 문자열에 특정 문자를 추가해야 하는 경우가 있습니다. 이 작업은 수동으로 수행할 수도 있지만, Python 코드를 활용하면 훨씬 빠르고 간단하게 처리할 수 있습니다. 이 글에서는 간단하게 단어 앞에 해쉬태그(#)을 추가하는 방법에 대해서 설명하겠습니다. 예시 def add_prefix(text, prefix): """ 문자열에 지정된 접두사를 추가합니다. Args: text: 문자열 prefix: 추가할 접두사 Returns: 접두사가 추가된 문자열 """ # 문자열을 공백을 기준으로 분리 words = text.split(" ") # 각 단어 앞에 접두사를 추가하고 리스트에 저장 prefixed_words = [f"{pre..

    ChatGPT API를 활용한 똑똑한 채팅봇 만들기: OpenAI

    요즘 인공지능 기술의 발전과 함께 챗봇(Chatbot)은 빠르게 발전하고 있습니다. 사용자와 자연스러운 대화를 통해 정보 제공, 질문 응답, 고객 지원 등 다양한 분야에서 활용되고 있습니다. 이번 글에서는 강력한 언어 모델인 ChatGPT API를 활용하여 스마트한 챗봇을 만드는 방법을 알아보겠습니다. 1. OpenAI 라이브러리 설치 먼저 OpenAI API를 사용하기 위해 Python 라이브러리를 설치해야 합니다. 다음 명령어를 통해 OpenAI 라이브러리를 설치할 수 있습니다. pip install openai 2. OpenAI API 키 발급 OpenAI 웹사이트(https://platform.openai.com/) 계정을 생성하고 API 키를 발급받아야 합니다. 발급받은 API 키는 다음 단계에..

    Python에서 JSON과 Dictionary 간 변환하는 방법

    JSON은 키-값 쌍으로 이루어진 데이터를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷입니다. Python에서 JSON 데이터를 사용하기 위해서는 Dictionary로 변환해야 합니다. 반대로, Dictionary를 JSON으로 변환하여 다른 프로그램이나 API와 데이터를 주고받을 수 있습니다. JSON을 Dictionary로 변환하기 Python의 json 라이브러리를 사용하여 JSON 문자열을 Dictionary로 변환할 수 있습니다. json.loads() 함수를 사용하면 JSON 문자열을 파싱하여 Dictionary 객체를 반환합니다. import json json_data = '{ "p1": { "name": "chulsu", "age": 20 }, "p2": { "n..

    데이터프레임의 인덱싱 : at, iloc, loc

    데이터프레임에서 데이터를 접근하는 방법에는 여러 가지가 있지만, 가장 중요한 세 가지 메서드는 at, iloc, loc입니다. 이 세 가지 메서드는 각기 다른 방식으로 데이터에 접근하므로, 상황에 맞는 메서드를 사용하는 것이 중요합니다. 1. at 메서드 at 메서드는 레이블(label)을 사용하여 데이터프레임의 특정 위치에 있는 값을 선택합니다. 레이블은 행 인덱스와 열 이름으로 구성됩니다. 장점: 직관적이고 명확한 코드 작성 가능 행 이름이나 열 이름을 사용하여 데이터 접근 가능 단점: 레이블이 유일해야 함 레이블이 존재하지 않으면 KeyError 발생 import pandas as pd df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) # 'A' 열의 두 ..

    Requests : HTTP 요청 최적화

    Python의 requests 모듈은 HTTP 요청을 보내고 응답을 처리하는 데 사용되는 강력하면서도 간편한 도구입니다. 그러나 대규모 또는 빈번한 요청을 다루는 경우, 코드의 효율성을 고려하여 최적화할 필요가 있습니다. 이 블로그 글에서는 requests 모듈을 사용하여 HTTP 요청을 최적화하는 다양한 방법을 살펴보겠습니다. 1. 세션 유지 requests의 Session 객체를 사용하면 연속적인 요청 간에 상태를 유지할 수 있습니다. 이를 통해 동일한 서버에 여러 요청을 보낼 때 발생하는 연결 설정 오버헤드를 줄일 수 있습니다. import requests session = requests.Session() # 여러 요청에서 동일한 세션 사용 response1 = session.get('https:..

    크롤링이 가능한 사이트인지 확인하는 방법

    웹 사이트를 크롤링하기 전에 해당 사이트에서 크롤링을 허용하는지 확인하는 것이 중요합니다. 웹 사이트에서 크롤링을 허용하지 않는 경우, 크롤링을 시도하면 차단되거나 페이지가 제대로 표시되지 않을 수 있습니다. 웹 사이트에서 크롤링을 허용하는지 확인하는 방법은 다음과 같습니다. robots.txt 파일 확인 웹 사이트의 robots.txt 파일을 확인하면 크롤러가 어떤 페이지를 크롤링할 수 있는지 확인할 수 있습니다. robots.txt 파일은 웹 사이트의 최상위 디렉터리에 위치하며, 다음과 같은 형식으로 작성됩니다. User-agent: * Disallow: / Allow: /index.html 위의 예시에서 User-agent: *는 모든 크롤러에 해당하는 것을 의미합니다. Disallow: /는 모든..