일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- SQLD
- 히트맵
- 기초통계
- data analyst
- 최종 프로젝트
- Python
- pandas
- GA4
- da
- streamlit
- 태블로
- 군집화
- 데이터분석
- 전처리
- 프로젝트
- 팀프로젝트
- 프롬프트 엔지니어링
- 클러스터링
- 머신러닝
- 서브쿼리
- lambda
- cross join
- jd
- 시각화
- 크롤링
- If
- Chat GPT
- 기초프로젝트
- 데이터 분석
- SQL
Archives
- Today
- Total
세조목
Python - Pandas Series, Dataframe 만들기 & assign 메서드 본문
df = df.assign(age2 = df['age'] +1,\
age3 = lambda df_ : df_['age2'] + 1)
Series, Dataframe 만들기
Pandas는 Series와 Dataframe 두 개의 자료형을 제공한다.
아래와 같이 코드를 작성하여 Series와 Dataframe을 만들 수 있다.
# Series
df = pd.Series(data = ['john', 1], index=['name', 'age'])
→ 'data'와 'index'는 생략 가능
# Dataframe
df = pd.DataFrame({'name' : ['a', 'b', 'c'], 'age' : [11, 35, 12]})
데이터프레임을 만들때 index명을 별도로 지정해주고싶다면 아래와같이 입력해주면 된다.
pd.DataFrame({'job' : ['mathmatician', 'scientist'], 'age' : [13, 52], 'city' : ['daegu', 'seoul']}, index = ['john', 'tom'])
Assign 메서드
assign 메서드를 활용하면 새 열을 할당할 수 있다.
우선 assign 메서드의 공식은 아래와 같다.
데이터 프레임명.assign(추가할 열 이름 = 산식)
예시 데이터 프레임은 아래와 같다.
df = pd.DataFrame({'name' : ['a', 'b'], 'age' : [1, 3]})
age 컬럼 옆에 1년 뒤의 나이가 담겨있는 'age2'라는 이름의 열을 추가해보자
추가할 열 이름 = 'age2'
산식 = df['age'] + 1
이므로 아래와 같이 코드를 작성해주면
df = df.assign(age2 = df['age']+1)
age + 1의 값이 저장된 'age2' 컬럼이 새로 추가된 것을 확인할 수 있다.
추가적으로 assign 메서드에서도 lambda 함수를 활용할 수 있는데
현재 데이터프레임에는 없는 컬럼을 산식에 넣어야 할 때 lambda 함수를 활용한다.
예를들어 위와 같은 데이터 프레임의 age 컬럼에
1을 더한 age2 컬럼과 2를 더한 age3 컬럼을 한꺼번에 할당하고 싶은 경우를 가정해보자.
물론 age+1, age+2로 산식을 적을수도 있지만 예시를 위해 age3컬럼은 age2컬럼이 존재해야지만
할당할 수 있다고 가정했다.
df = df.assign(age2 = df['age'] +1,\
age3 = lambda x : x['age2']+1)
위와 같이 코드를 작성하면 아래와 같이 'age2', 'age3' 컬럼이 추가된 것을 확인할 수 있다.
'데이터 분석 공부 > Python' 카테고리의 다른 글
Python 개념 정리(변수 할당)(24.05.09) (0) | 2024.05.09 |
---|---|
Python - 긴 코드의 가독성 높이기(역슬래시, 메서드 체이닝) (0) | 2024.03.12 |
Python - lambda함수 (0) | 2024.03.11 |
Python - shape속성 & loc와 iloc의 차이 (0) | 2024.03.11 |
Python 예제(3진법 뒤집기) (0) | 2024.02.26 |