📒 Today I Learn

2024.07.16  🔒 44번) 데이터를 로드하고 상위 5개 컬럼을 출력하라DataUrl = 'https://raw.githubusercontent.com/Datamanim/pandas/main/AB_NYC_2019.csv'🔓 해결방법import pandas as pdDataUrl = 'https://raw.githubusercontent.com/Datamanim/pandas/main/AB_NYC_2019.csv'df = pd.read_csv(DataUrl)df.head(5)   🔒 45번) 데이터의 각 host_name의 빈도수를 구하고 host_name 컬럼 기준으로 정렬하여 상위 5개를 출력하라 🔓 해결방법# 해당 컬럼에 대한 데이터프레임을 출력해봤다df[['host_name']]host_..
2024.07.16    ✳️ .groupby( )데이터를 그룹화하여 연산을 수행하는 methodby : 그룹화할 내용이다. 함수, 축, 리스트 등등이 올 수 있다.axis : 그룹화를 적용할 축이다.level : 멀티 인덱스의 경우 레벨을 지정할 수 있다.as_index : 그룹화할 내용을 인덱스로 할지 여부입니다. False이면 기존 인덱스가 유지된다.sort : 그룹키를 정렬할지 여부이다.group_keys : apply메서드 사용시 결과에따라 그룹화 대상인 열이 인덱스와 중복(group key)이 될 수 있다. 이 때, group_keys=False로 인덱스를 기본값으로 지정할 수 있다.squeeze : 결과가 1행 or 1열짜리 데이터일 경우 Series로, 1행&1열 짜리 데이터일 경우 스칼라..
2024.07.16    데이터의 개수를 계산해주는 method인 두 함수의 차이와 기능에 대해서 정리하였다.  ✳️ .count( )🔹 각 컬럼에 몇 개의 데이터가 있는지 계산해주며, NaN 값은 포함하지 않는다. 🔹 count()의 결과는 데이터프레임을 반환한다.df.count()df.groupby().count()    ✳️ .size🔹 각 컬럼에 몇 개의 데이터가 있는지 계산해주며, NaN 값 포함한다.🔹 groupby.size()의 경우에는 시리즈를 반환한다.기본적으로 size는 numpy의 함수로 괄호를 붙이지 않는다.df.sizegroupby와 한께 쓰는 경우는 pandas method에 속하고  괄호를 붙이며 사용해야 한다.df.groupby().size()     https://b..
2024.07.15오늘도 판다스를 이용한 빅분기 문제풀이를 하며 다양한 method와 모듈 이용을 공부하였당     🔒 31번) df의 new_price 컬럼 값에 따라 내림차순으로 정리하고 index를 초기화 해라내림차순 저번에 했던거 써먹기~🔓 해결 방법df.sort_values('new_price', ascending=False).reset_index(drop=True)ascending=True 가 디폴트 값이라 오름차순은 굳이 입력을 해주지 않아도 되지만, 내림차순은 False로 표시를 해줘야 한다.  🔒 32번) df의 item_name 컬럼 값이 Steak Salad 또는 Bowl 인 데이터를 인덱싱하라Steak Salad or Bowl인 데이터 출력하기🔓 해결 방법df.loc[(df[..
2024.07.15  문제를 풀다보니 %어쩌고저쩌고% 포함된 글자면 출력해줘~ 라고 하는 걸 보면 sql의 like를 그렇게 그리워 했는데 파이썬에도 비슷한 기능이 있어 정리한다. 먼저 예시로 다음과 같은 데이터 프레임이 있다고 해보자. 그리고 각 메소드를 통해 결과값의 차이를 예시로 비교해보겠다.  ✳️ .str.startswith( )sql과 비교하자면, like '어쩌고%' 같이 처음 시작하는 문자만 필터 가능하다.앞 글자가 'F'인 것만 출력 되었다.  ✳️ .str.contains( )앞뒤 글자 상관없이 특정 단어가 들어가기만 하면 되는,like '%어쩌고%' 같은 걸 필터할 때 사용한다.중간이든 처음이든 'F'가 들어가면 일단 출력해준다.
2024.07.15  ✳️ 값 바꾸기🔹값 1개만 변경df.loc[행의 인덱스, '컬럼명'] = 바꿀 값 🔹특정 열 통째로 변경# 한가지 값으로 변경할 경우df.loc['컬럼명'] = 바꿀 값# 리스트 내역으로 변경할 경우df.loc['컬럼명'] = 바꿀 값 리스트 🔹특정 행 통째로 변경df.loc[행의 인덱스] = 바꿀 값 리스트 🔹여러 행, 여러 열의 값 동시 변경df.loc[행의 인덱스 리스트, 열 이름 리스트] = 바꿀 값 🔹조건에 해당하는 위치의 값 변경df.loc[조건, 바꿀 행] = 바꿀 값 🔹replace를 이용한 특정 값 대체# replace method 사용df = df.replace(기존 값, 변경 값)# 특정 열 내에서만 값을 대체df = df.replace({'열 이름' ..
2024.07.15 ✳️ .drop_duplicates( )데이터프레임에서 중복되는 행을 제거하고 고유한 값만 남기고 싶을 때 쓰는 methodimport pandas as pddf.drop_duplicates() 🔹 중복제거df.drop_duplicates()아무것도 지정하지 않으면 모든 컬럼을 기준으로 중복을 제거한다.  🔹 열 지정 중복 제거파라미터로 열을 지정하면 지정된 열을 기준으로 중복 제거한다.▶ 단일 df.drop_duplicates(['컬럼명'])▶ 여러 개df.drop_duplicates(['컬럼명1', '컬럼명2'])  🔹 남길 대상 지정중복되는 데이터 중, 어떤 행을 남길지 지정할 수 있다.1. 첫 번째 남기기 : 인덱스 기준으로 가장 앞에 있는 행을 남김df.drop_dupl..
2024.07.15  ✳️.loc[  ]loc는 location의 약어이다.데이터 프레임의 행 또는 열을 label이나 boolean array로 인덱싱하는 방법이다.사람이 읽을 수 있는 라벨 값으로 특정 값들을 골라오는 방법!df.loc[행, 열] 🔹 label 인덱싱기본적으로 df.loc[0] 이라고 인덱싱을 하면, df라는 데이터프레임에서 index가 0인 행 을 출력하라는 뜻이 된다.여기서  df.loc[0, '컬럼 이름']  라고 쓰면, index가 0인 행 에서 지정한 컬럼에 대한 값을 출력해준다.만일 df.loc['컬럼 이름'] 이라고 컬럼 이름만 써준다면, 해당 컬럼의 데이터 값만 출력해준다. 🔹 loc와 slicing df.loc[:, :]  - 전체 행, 전체 열을 출력df.loc[..
✳️ 할당 (Assignment)값을 할당하는 것인데 보통은 오른쪽의 값을 왼쪽 변수에 할당한다 라는 흐름이다.다양한 할당연산자가 있다. 리스트 a를 b에 할당a = [1, 2, 3]b = a이렇게 a 리스트를 b라는 변수에 할당을 해봤다.그렇다면 리스트는 2개가 생성된 것일까?a is b # Truea와 b가 같다가 true로 나온다.이름은 다르지만 사실은 같은 리스트로 하나의 리스트에 두 개의 이름.. 이런 식이었다.b[1] = 10print(a)# [1, 10, 3]print(b)# [1, 10, 3]그래서 b 리스트에 1번 인덱스의 값을 10으로 바꿔주면 a와 b를 출력했을 때 모두 값이 변경된다.그림으로 보자면 이런 식으로 하나의 리스트임을 알 수 있다.  ✳️ 복사 (Copy).copy( ) ..
2024.07.12    🔒 20번) 데이터를 로드하라DataUrl : 'https://raw.githubusercontent.com/Datamanim/pandas/main/chipo.csv'🔓 해결 방법import pandas as pddf = pd.read_csv('https://raw.githubusercontent.com/Datamanim/pandas/main/chipo.csv')df   🔒 21번) quantity 컬럼 값이 3인 데이터를 추출하고 첫 5행을 출력하라quantity 컬럼 중에 값이 3인 데이터들만 추출, 그리고 위에서부터 5행만 출력🔓 해결 방법df[df['quantity'] == 3].head(5)df['quantity'] == 3먼저 요것의 뜻은.. 데이터 값이 3인 ..
se0ehe
'📒 Today I Learn' 카테고리의 글 목록 (8 Page)