728x90
반응형

Python 12

파이썬 merge 여러개 한번에 하기

여러개 데이터프레임 한번에 merge 하기 from functools import reduce pop = reduce(lambda x,y: pd.merge(x,y, on='columns1', how='outer'), [df_1, df_2, df_3, df_4]) 아래는 설명 위 코드는 functools 모듈에서 reduce 함수를 가져와 사용하고 있다. reduce 함수는 리스트와 같은 반복 가능한(iterable) 객체에 함수를 순차적으로 적용하여 하나의 값으로 축소하는 데 사용된다. 여기서는 reduce 함수를 활용하여 pd.merge() 함수를 반복적으로 적용하여 여러 데이터프레임을 하나의 데이터프레임으로 병합하고 있다. reduce() 함수는 다음과 같은 구조를 가진다. reduce(functio..

tool 공부/PYTHON 2024.03.13

파이썬 중복 처리

중복 제거하기# 데이터 전체 data.drop_duplicates(inplace=True) -데이터 프레임에 있는 모든 열이 동시에 중복인 행을 삭제하고 중복 대표 한개의 행만을 남김 -inplace=True : 원본 데이터에 중복제거 한 것을 반영# 한개 열 data.drop_duplicates(['이름'],inplace=True)- '이름'이라는 열의 중복 행을 삭제하고 중복 대표 한개의 행만을 남김# 여러개 열 data.drop_duplicates([['이름','나이']],inplace=True)- '이름', '나이'가 같은 행을 삭제하고 중복 대표 한개의 행만을 남김# 중복된 행을 전부 삭제 data.drop_duplicates([['이름','나이']],inplace=True,keep=False)..

tool 공부/PYTHON 2023.11.24

파이썬 결측치와 공백 다루기

결측치와 공백의 차이 결측치와 공백은 데이터상에서 다른 개념이다. 얼핏봐서 비어있는 공백은 결측치 처럼 보일 수 있겠으나, 공백은 결측치가 아니고 하나의 공백(스페이스)라는 값이 들어있는 것으로 판단한다. 컴퓨터는 결측치(누락된 값)와 공백(빈 문자열)을 서로 다르게 인식한다. 아래는 두개념의 차이점이다. 결측치 (Missing Values): 결측치는 데이터의 누락이나 부재를 나타낸다. 컴퓨터에서는 주로 `NaN` (Not a Number) 또는 `None` (파이썬에서 사용)으로 표현된다. 데이터가 수치형일 때 `NaN`으로 표현되며, 파이썬과 같은 프로그래밍 언어에서는 `None`으로 표현됩니다. 결측치는 실제 값이 없거나 수집되지 않았거나 처리되지 않았을 때 발생한다. 예를 들어, 어떤 조사에서 ..

tool 공부/PYTHON 2023.08.03

import win32com.client 에러 dll load failed

win32com.client은 Windows 시스템에서 COM (Component Object Model) 객체와 상호 작용할 수 있는 Python 모듈이다. COM은 소프트웨어 구성 요소를 만들고, 서로 통신하고, 상호 운용할 수 있게 하는 이진 표준이다. Windows 환경에서 Microsoft Office 응용 프로그램을 자동화하고, Windows API에 접근하며, 기타 Windows 기반 소프트웨어와 상호 작용하는 데 널리 사용된다. win32com.client 모듈은 Python에서 이러한 COM 객체를 편리하게 사용하고 접근할 수 있게 해준다. 이 모듈은 Python for Windows Extensions (PyWin32) 패키지의 일부로 제공되며, Python이 Windows 특정 서비스..

에러해결/PYTHON 2023.08.01

리스트 컴프리헨션 (list comprehension)

- 리스트 컴프리헨션 정의 리스트 컴프리헨션(List Comprehension)은 파이썬의 강력한 기능 중 하나로, 기존 리스트를 사용하여 간단하게 새로운 리스트를 생성하는 방법을 제공하는것이다. 이는 반복문과 조건문을 사용하여 리스트를 초기화하거나 필터링하는 작업으로 한 줄로 간결하게 표현할 수 있게 해주는 기능이다. 일반적으로 리스트 컴프리헨션은 다음과 같은 구조를 갖는다. [표현식 for 항목 in iterable if 조건문] 표현식 : 각 항목에 대해 평가되는 표현식이다. 새로운 리스트의 요소를 어떻게 계산할지를 정의한다. 항목 : iterable 객체(예: 리스트, 튜플, 문자열 등)에서 가져온 요소를 나타낸다. iterable : 반복 가능한 객체로, 순회하며 항목을 하나씩 가져올 수 있는 ..

tool 공부/PYTHON 2023.07.31

SettingWithCopyWarning (경고 메세지 안뜨게 하기)

사실 이건 에러는 아닌데.. 아래와 같은 코드를 입력했는데.. df.drop_duplicates(subset='columns1', keep='first', inplace=True) 아래와 같이 경고 메세지가 뜸 :10: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. 이유는 Pandas에서 Dataframe을 slice할 때 view(참조) 형태와 copy(복사) 형태로 나눠서 처리한다. 이 구문은 slice된 view를 대상으로 처리되기 때문에, view의 데이터를 변경하게 되면 원래 Dataframe이 변경될 가능성이 있기 때문에 경고 메세지가 출력된다. 즉 copy를 하지 않고 원본의 ..

에러해결/PYTHON 2023.07.20

TypeError: bad operand type for unary ~: 'float'

TypeError: bad operand type for unary ~: 'float' TypeError: bad operand type for unary ~: 'float' 오류는 부정 연산자 ~가 부동 소수점 수 (float)에 대해 사용되어 잘못된 피연산자 타입이라는 것을 나타낸다. 부정 연산자는 정수형 (int)에 대해서만 사용할 수 있다. 오류가 발생하는 경우를 보완하려면 부정 연산자를 정수형으로 사용해야 한다. 예를 들어, ~ 연산자를 사용하여 비트 단위의 보수를 계산하려면 정수형을 사용해야 한다. 부동 소수점 수에 대해 부정 연산을 수행하려는 경우에는 다른 방법을 사용해야 한다. 예를 들어, 부동 소수점 수를 비교하거나 조건을 확인하기 위해서는 비교 연산자(, =..

에러해결/PYTHON 2023.07.19

TypeError: ‘in ‘ requires string as left operand, not Series

TypeError: ‘in ’ requires string as left operand, not Series 해당 오류는 “in는 문자열이 왼쪽 피연산자로 필요하지만 Series가 주어졌습니다”라는 의미입니다. 이 오류는 ‘in’ 연산자를 사용할때 왼쪽 피연산자로 문자열이 아닌 시리즈(Series)객체가 전달되어 발생한다. df['년도'] not in '년' 다음과 같은 코드에서 series로 전달되어 에러가 발생한다 해결방안 ‘년’ 글자가 안들어간 row만 추출하고 싶다면 df[~df['년도'].str.contains('년')] contains 를 활용하되 앞에 ~ 부정 연산자를 활용하여 추출한다.

에러해결/PYTHON 2023.07.18

파이썬 .reset_index() 인덱스 없애기

.reset_index() .reset_index() 함수는 pandas에서 제공하는 함수로, DataFrame의 인덱스를 초기화하는 역할을 한다. 기존의 인덱스를 제거하고 기본 정수 인덱스로 대체하고자 할 때 주로 사용됩니다. 이 함수는 다중 인덱스를 제거하거나 인덱스를 열로 변환하거나, DataFrame의 인덱스가 불규칙한 상태로 남아있는 경우 등 다양한 상황에서 유용하게 사용될 수 있다. 아래 .reset_index() 함수를 사용한 몇가지 예시를 살펴보자. Case1 : 인덱스를 기본 정수 인덱스로 초기화하기 import pandas as pd # DataFrame 생성 df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) # 인덱스 초기화 df_reset ..

tool 공부/PYTHON 2023.07.02
728x90
반응형