Python/python 기초

실무에 많이 쓰는 파이썬 코드 모음

DS지니 2022. 12. 1. 16:12
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