Python pandas 데이터프레임(DataFrame) 사용시 자주사용되는 기능
1. 특정 인덱스의 컬럼값을 변경해
#방법1
df3.ix[81, '년도']=2000
#방법2
df3.loc[df3.index == 81, '년도']=1998
2. SQL문: Select와 Where 문 조함
# Select 인원수1, 인원수2 From df3 Where df3.인원수1> 10
# and df3.인원수1< 100
# and 인원수2 IS NULL;
# Null 값 여부 확인은 isna() 또는 notna() 사용
df3[(df3.인원수1>10) & (df3.인원수2.isna())][['인원수1', '인원수2']]
3. SQL문: Update 문
#UPDATE df SET col = col+1 WHERE col2 < 2;
df.loc[df['col'] < 2, 'col'] += 1
4. SQL문: Delete 문
# DELETE FROM df WHERE col > 9;
#직접 삭제할 수 없으며, 대신 삭제되지 않아야 할 조건으로 추출
df = df.loc[df['col'] <= 9]
5. SQL문 Group By
#SELECT gender, count(*) FROM df GROUP BY gender, year;
#coun()가 아닌 size()를 사용
#as_index=False 를 적용하지 않으면 group 컬럼이 인덱스로 변환됨
df.groupby('gender', as_index=False).size()
#count()는 개별컬럼들의 null을 제외한 수를 제공하며,
df.groupby(['gender', 'year'], as_index=False)]['name'].count()
# 데이터프레임 목록을 Union: 중복은 제거되지 않음
pd.concat([df1, df2, df3])
8. 중복제거와 확인
#중복 데이터의 확인
df[df.duplicated()]
#몇번쨰 중복된 데이터인지 확인하기: cumcount가 0인 경우 중복되지 않음
df.groupby('이름', as_index=False).cumcount()
# 행별 중복 카운트 확인
df.groupby(df.columns.tolist()).size().reset_index().rename(columns={0:'중복수'})
# 첫번째 중복되는 행만 남기도 중복을 제거한 결과를 반영
df.drop_duplicates(keep='first', inplace=True)
#중복을 제거한 결과만 반환: df는 기존 중복을 유지
df.drop_duplicates(keep='last')
9. 컬럼명 변경하기
모든 컬럼명을 변경
df.columns=['년도','인원수2']
일부 컬럼명을 변경
df.rename(index=str, columns={"oldName1": "newName1", "oldName2": "newName2"})
9. index 초기화
#기존 인덱스를 새로운 컬럼으로 만들고, 인덱스를 초기화
df.reset_index(inplace=True)
#기존 인덱스를 없애고 인덱스를 초기화
df.reset_index(drop=True, inplace=True)
10. MultiIndex를 이용해서 다양한 조합생성
a = [1, 2, 3]
b = ["a", "b", "c"]
index = pd.MultiIndex.from_product([a, b], names = ["a", "b"])
pd.DataFrame(index = index).reset_index()
11. na값 처리
# na값이 있는 행제거: 모든 컬럼의 일부 또는 전부 옵션으로 how를 any 또는 all로 지정
# axis=0 row, axis=1 column
dfCNoWeb=dfCNoWeb.dropna(axis=0, how='all')
# na값을 다른 값(0)으로 변경
df.fillna(0)
PyCharm에서 TensorFlow 이용을 위한 개발환경 설정(윈도우10) (0) | 2018.11.22 |
---|---|
R에서 일원배치분산분석(One-Way ANOVA) (0) | 2018.01.18 |
R에서 T-Test 반복수행과 통계표 작성 (1) | 2018.01.12 |
R에서 T-Test 사용방법 (0) | 2018.01.08 |
R을 이용해서 주가 데이터 가져오기: Yahoo Finance 이용 (0) | 2014.03.12 |