반응형

판다스 10

판다스 merge로 데이터프레임 결합하기

판다스 merge로 데이터프레임 결합하기 데이터 분석 작업 중 여러 데이터프레임을 하나로 결합해야 하는 경우가 많습니다. 판다스의 merge 함수는 SQL의 JOIN과 유사한 방식으로 데이터프레임을 결합할 수 있게 해줍니다. 이번 포스팅에서는 merge 함수의 다양한 사용법을 알아보겠습니다. merge 기본 사용법 import pandas as pd # 두 개의 샘플 데이터프레임 생성 df1 = pd.DataFrame({ 'employee_id': [1, 2, 3, 4], 'name': ['John', 'Mary', 'Peter', 'Jane'], 'department': ['HR', 'IT', 'Sales', 'HR'] }) df2 = pd.DataFrame({ 'employee_id': [2, 3, ..

판다스 melt로 데이터프레임 재구조화하기(컬럼의 내용을 row로 옮기기)

판다스 melt로 데이터프레임 재구조화하기 데이터 분석 과정에서 넓은 형식(wide format)의 데이터를 긴 형식(long format)으로 변환해야 할 때가 있습니다. 판다스의 melt 함수는 이러한 작업을 쉽게 수행할 수 있게 해줍니다. 이번 포스팅에서는 melt 함수의 사용법과 활용 예제를 살펴보겠습니다. melt 기본 사용법 import pandas as pd # 샘플 데이터프레임 생성 df = pd.DataFrame({ 'Name': ['John', 'Mary', 'Peter'], 'Math': [90, 85, 78], 'Science': [95, 92, 88], 'History': [88, 90, 85] }) print("원본 데이터프레임:") print(df) # melt 적용 melte..

판다스 pivot으로 데이터 구조 재구성하기

판다스 pivot으로 데이터 구조 재구성하기 데이터 분석 과정에서 데이터의 구조를 재구성해야 하는 경우가 종종 있습니다. 판다스에서는 pivot과 pivot_table 메서드를 통해 데이터프레임의 행/열 인덱스를 재지정하고 데이터를 회전(pivoting)할 수 있습니다. 이번 포스팅에서는 이들 기능의 활용법을 알아보겠습니다. pivot 기본 사용법 --------------- pivot은 행 인덱스와 열 인덱스를 지정하여 데이터프레임의 데이터를 회전시킵니다. import pandas as pd data = {'Name':['John', 'John', 'Mary', 'Mary'], 'Year':[2012, 2013, 2012, 2013], 'Value':[4, 5, 6, 7]} df = pd.DataFra..

판다스 transform으로 그룹별 변환 적용하기(그룹별 최대값 / 최소값)

판다스 transform으로 그룹별 변환 적용하기 판다스에서 groupby를 사용하면 데이터프레임을 그룹별로 나누어 연산을 수행할 수 있습니다. 이번에는 groupby와 함께 transform 메서드를 활용하여 그룹별로 변환을 적용하는 방법에 대해 알아보겠습니다. transform이란? ------------ transform은 그룹 객체에서 호출할 수 있는 메서드입니다. 그룹별로 제공된 함수를 적용하고, 그 결과를 새로운 열에 할당합니다. 함수의 반환값은 그룹별로 구성되는 시리즈 혹은 데이터프레임입니다. 기본 사용법 -------- python import pandas as pd import numpy as np df = pd.DataFrame({'group': list('aabbcc'), 'value..

pandas apply로 데이터프레임 컬럼별 함수 적용하기

pandas apply로 데이터프레임 컬럼별 함수 적용하기 pandas의 apply는 데이터프레임의 모든 원소에 동일한 함수를 적용할 수 있는 유용한 기능입니다. 스칼라 함수뿐만 아니라 lambda 함수나 사용자 정의 함수도 사용 가능합니다. 이번 포스팅에서는 apply의 활용법을 살펴보겠습니다. apply 기본 사용법 import pandas as pd df = pd.DataFrame({'A': [1, 2, 3], 'B': [10, 20, 30], 'C': [100, 200, 300]}) # 모든 원소에 제곱근 함수 적용 df = df.apply(lambda x: x**0.5) print(df) 출력: A B C 0 1.0 3.16 10.0 1 1.41 4.47 14.14 2 1.73 5.48 17.3..

Pandas DataFrame에서 lambda 활용하기

Pandas는 데이터 분석에 매우 유용한 라이브러리 중 하나입니다. 데이터프레임(DataFrame)은 Pandas에서 가장 중요한 데이터 구조 중 하나입니다. 이번 포스팅에서는 Pandas 데이터프레임에서 lambda 함수를 활용하여 데이터를 처리하는 방법에 대해 알아보겠습니다. lambda 함수는 일반적으로 파이썬에서 사용되며, 작은 함수를 만들 때 특히 유용합니다. lambda 함수를 이용하면 함수를 정의하지 않고 간단한 로직을 작성할 수 있습니다. Pandas에서는 lambda 함수를 데이터프레임의 열(Column) 또는 행(Row)에 대해 적용할 수 있습니다. 먼저, 필요한 라이브러리를 불러옵니다. 이번 예제에서는 numpy와 pandas를 사용합니다. import numpy as np impor..

[Python] 리스트에서 가장 큰 수와 작은 수의 인덱스 가져오기

Python의 내장 함수인 min()과 max()를 사용하여 리스트에서 가장 작은 숫자와 가장 큰 숫자를 찾을 수 있습니다. 가장 큰 숫자와 가장 작은 숫자의 인덱스를 얻기 위해서는 index() 메서드를 사용할 수 있습니다. 다음은 예시 코드입니다: my_list = [3, 5, 1, 8, 2, 9, 4] # 가장 큰 숫자의 인덱스 찾기 max_index = my_list.index(max(my_list)) # 가장 작은 숫자의 인덱스 찾기 min_index = my_list.index(min(my_list)) print("가장 큰 숫자의 인덱스:", max_index) print("가장 작은 숫자의 인덱스:", min_index) 위 코드에서 max() 함수는 리스트에서 가장 큰 숫자를 반환하고, i..

[Python] 리스트에서 가장 큰 값 / 작은 값 제거

my_list = [3, 5, 1, 8, 2] max_num = max(my_list) # 큰 값 min_num = min(my_list) # 작은 값 my_list.remove(max_num) print(my_list) # 출력: [3, 5, 1, 2] my_list.remove(min_num) print(my_list) # 출력: [3, 5, 2] 위 코드에서 max() 함수는 리스트에서 가장 큰 값을 반환합니다. 그리고 remove() 메소드를 사용하여 해당 값을 제거합니다. 이렇게 하면 리스트에서 가장 큰 숫자가 제거되고, 결과로는 수정된 리스트가 출력됩니다. 만약 리스트에서 가장 큰 값이 여러개인 경우, 이 코드는 가장 먼저 나오는 값을 제거합니다. 따라서 만약 모든 가장 큰 값을 제거하고 싶다..

[Python] 리스트 내 값 중 큰 순서대로 인덱스 얻는 방법

Python에서는 enumerate() 함수와 sorted() 함수를 함께 사용하여 리스트 내 값 중 큰 순서대로 인덱스를 얻을 수 있습니다. 다음은 예시 코드입니다. my_list = [5, 3, 8, 2, 7] # 내림차순으로 정렬한 리스트의 인덱스를 가져옴 sorted_indexes = [i for i, v in sorted(enumerate(my_list), key=lambda x: x[1], reverse=True)] print(sorted_indexes) # 출력: [2, 4, 0, 1, 3] 위 코드에서 enumerate() 함수는 리스트 내 요소와 함께 해당 요소의 인덱스를 반환합니다. sorted() 함수는 이 반환 값을 정렬하며, key 인자를 이용하여 정렬할 기준을 설정할 수 있습니다..

[Python] DataFrame 컬럼 내 리스트 형식의 데이터의 모든 행에 인자를 추가하는 방법

pandas DataFrame의 리스트 컬럼에 모든 행에 대해 인자를 append하는 방법은 다음과 같습니다. import pandas as pd # 샘플 데이터프레임 생성 df = pd.DataFrame({'name': ['John', 'Kate', 'Mike'], 'scores': [[10, 20], [30, 40], [50, 60]]}) print(df) # 리스트 컬럼에 모든 행에 대해 인자 추가하기 new_score = 70 df['scores'] = df['scores'].apply(lambda x: x.tolist() + [new_score]) print(df) 위 코드에서는 먼저 샘플 데이터프레임을 생성합니다. 이 데이터프레임은 'name'과 'scores' 두 개의 컬럼으로 구성되어 있습..

반응형