728x90
반응형
1. merge
특정 기준열로 표 합치기
import pandas as pd
# 기준열 이름이 같을 때
pd.merge(left_df, right_df, on = '기준열', how = '조인방식')
# 기준열 이름이 다를 때
pd.merge(left_df, right_df, left_on = '왼쪽 열', right_on = '오른쪽 열', how = '조인방식')
2. grouby
# 기본 - 인덱스 1개
a = df.groupby('열이름1')['열이름2'].count()
# 기본 - 인덱스 2개
a = df.groupby(['열이름1','열이름2'])['열이름3'].sum()
# '열이름2'의 값을 column으로 지정
b = df.groupby(['열이름1','열이름2'])['열이름3'].count().unstack('열이름2')
# 인덱스 순서를 리스트대로 지정(빈 칸은 0으로 채우기, 값을 정수로 변환)
b = b.reindex(index=["바나나","딸기","사과"]).fillna(0).astype(int)
# 인덱스 사용하지 않기(as_index=False), 정렬(sort_vlaues), 데이터프레임 형식
c = pd.DataFrame(raw.groupby('열이름1',as_index=False)['열이름2'].count().sort_values(by='열이름2',ascending=False))
3. insert
Dataframe 원하는 위치에 열 추가(삽입)
df.insert(열인덱스, '추가열이름', 값)
news = pd.DataFrame(article_1, columns=['기사제목','기사내용','기사날짜', '댓글개수','매체명', 'URL'])
news.insert(4, '실제댓글개수', real_cnt_li)
news.head()
4. replace
Dataframe 특정 열에서 문자열(string)을 숫자(int)로 변경 시, 소수점 자리 없애기
df['열이름'] = df['열이름'].str.replace('변환전', '변환후').astype(int)
news['댓글개수'] = news['댓글개수'].str.replace(',','').astype(int)
5. rename
Dataframe 인덱스, 열이름 변경
df = df.rename(index={0: "x", 1: "y", 2: "z"})
df = df.rename(columns={"A": "a", "B": "b", "C": "c"}, errors="raise")
6. df[column].str[:]
Dataframe 모든 값의 뒷자리 5자리 자르기
for i in range(len(df.columns)):
col = df.columns[i]
df[col]=df[col].str[:-5]
728x90
반응형
'Python > python 기초' 카테고리의 다른 글
while 반복문 (0) | 2021.10.14 |
---|---|
list와 dictionary 차이점 (0) | 2021.09.25 |
요소 추가 append(), extend(), insert() (0) | 2021.05.13 |
break & continue (0) | 2021.05.10 |
range로 반복문 활용하기 (0) | 2021.05.10 |