pandas에서 내가 가장 어려워 하는 것 중에 하나가 데이터 프레임 다루는 거다. 내가 필요할 때 맞는 방식으로 자유롭게 열을 늘렸다, 이름도 바꿨다 하는 건 너무 어려워서 한 페이지에 정리하고자 한다.
<rename>
1. column 이름 바꾸기 : df.rename(columns={"A": "a", "B": "c"}) / df.rename(str.lower, axis='columns') : 대문자에서 소문자로 바뀜..
2. index 이름 바꾸기 : df.rename(index={0: "x", 1: "y", 2: "z"}) / df.rename({1: 2, 2: 4}, axis='index')
3. index 데이터 타입 변경 : df.rename(index=str).index
<데이터 정렬하기>
df.sort_value(by=어떤 열(행), axis=0(열) 혹은 1(행), ascending=True:오름차순 or False:내림차순, inplace=적용할래?)
<보고 싶은 데이터만 골라보기>
1. 번호로 조회 : df.iloc[행 슬라이싱 조회, 열 슬라이싱 조회]
2. 이름으로 조회 : df.loc[행조회(슬라이싱), 열조회(슬라이싱)] , df.loc[[(여러 행 조회, ',' 구분)], [(여러 열 조회, ',' 구분)]]
3. 특정 조건 데이터 보기
- df[df>0] : value가 0이상인 결과만 보기
- df[df["A"]>0] : A컬럼의 값이 0이상인 결과만 보기
- df["E"].isin(["two","four"]) : E컬럼의 값중에 "two", "four"가 있는 결과만 보기 : 결과는 불리언 타입으로 정렬됨.
> df[df["E"].isin(["two","four"])] : 위에 True 값들이 데이터 프레임 형식으로 출력됨.
4. 유일 행 보기 : unique()
<제거하기> : drop vs. del
- drop 열과 행 모두에서 작동. del 열에서만 작동.
- drop 한 번에 여러 항목에서 작동할 수 있음. del한 번에 하나씩만 작동.
- drop 제자리에서 작동하거나 사본을 반환할 수 있음.(inplace=T/F) del 내부 작업만 가능.
<누적 지표 보기>
- 각 컬럼 누적 합계 보기 : df.apply(np.cumsum) : 날짜별로 구분되어 있을 때 1일 반환, 1,2일 누적 반환, 1,2,3일 누적반환.. 식으로 보고 싶을 때
<추가하기>
- 열 추가하기 : df["새로운열이름"] = (어떤 조건의 열을 추가할 건지...)
- 행 추가하기 : 딕셔너리 형식을 갖춘 경우 append() 이용해서 합치는 방식.
<pivot table>
- index 설정 : pd.pivot_table(df, index="Name") #df.pivot_table(index="Name")
- column 설정 : df.pivot_table(index=["Manager", "Rep"],values="Price",columns="Product",aggfunc=np.sum)
- 멀티 인덱스 + values 설정 : df.pivot_table(index=["Manager", "Rep"],values="Price")
- function 적용 : df.pivot_table(index=["Manager", "Rep"],values="Price",aggfunc=[np.sum, len])
- fill_value=0 : 널 값은 0으로
- margins=True : 요약값(all) 보기
- 피봇테이블에서 필요한 컬럼만 남기기(droplevel) : crime_station.columns = crime_station.columns.droplevel([0,1])
'데이터 어쩌구 > 전처리 및 시각화' 카테고리의 다른 글
2-6. Analysis Seoul Crime (지도시각화: 범죄건수, 검거율) (0) | 2021.10.02 |
---|---|
[matplotlib/seaborn] 그래프 그리기 (시각화) (0) | 2021.10.02 |
[Pandas] 데이터 읽어오기 (read_) (0) | 2021.10.02 |
2-5. Analysis Seoul Crime (지도시각화: Folium) (0) | 2021.09.29 |
2-4. Analysis Seoul Crime (seaborn, 시각화) (0) | 2021.09.24 |