조건 condition
A 컬럼에서 0보다 큰 숫자 (양수)만 선택
df["A"] > 0결과 출력은 논리로 나옴
1번 데이터 False
2번 데이터 True전체 데이터 적용 가능
df[df["A"] > 0]
데이터 전체의 0보다 큰 데이터를 보여줘라
column 데이터 추가
df["E"] = ["one", "two","three","four","five","six"]
컬럼 삭제
방법1)
del df["E"]
df방법2)
df.drop(["D"], axis=1) # 기본 값이 axis=0 가로, axis = 1 세로
axis가 0일때는 위처럼 명시 안해도됌df.drop(["20230228"])
isin()
특정 요소가 있는지 확인
df["E"].isin(["two", "five"])
True , False로 반환됌
df[df["E"].isin(["two", "five"])]
전체로 조회하면
조건에 맞는 애들 데이터프레임 타입으로 반환됌
df.apply()
알고싶은 기능을 구해줌
df["A"].apply("sum")
a열의 합df["A"].apply("mean")
a열의 평균df["A"].apply("min"),df["A"].apply("max")
최소값과, 최대값 (이렇게 2개도 동시에 가능)df[["A","B"]].apply("sum")
이렇게 두 개 행선택도 가능df["A"].apply(np.sum)
넘파이 기능도 가능!함수도 호출 가능.!!
df["A"].apply(lambda num: "plus" if num> 0 else "minus")람다함수도 가능!
apply에 들어가는 기능들 검색..!
CCTV 복습
.read_파일확장자("../경로/파일명.확장자", encoding="utf-8")
데이터파일 열기
.rename(요소={바꿀 위치:"바꿀 이름"}, inplace=True)
데이터 요소 이름 바꾸기
.date_range("날짜", period=숫자)
지정날짜부터 숫자만큼의 날짜 데이터를 가져온다.
.DataFrame(data1, index=각 행 제목, columns=열 제목)
e.g> .DataFrame(np.random.randn(6,4), index=dates, columns=["A","B","C"])
.head()
데이터 상위 5줄 보이기
.tail()
데이터 최하단 5줄 보이기
.index
DataFrame의 index 확인
.columns
DataFrame의 컬럼 확인
.columns[인덱스]
인덱스의 컬럼만 호출
.values
DataFrame의 값 확인
DataFrame["컬럼명"]
특정컬럼명만 읽기
DataFrame.loc[인덱스,컬럼]
인덱스,컬럼 지정하여 읽기
e.g> df.loc[:,["A","B"]]
: 인덱스 전부, A,B 컬럼만
DataFrame.iloc[인덱스번호]
iloc는 컴퓨터가 정한 가상의 인덱스번호 0부터 시작함
+) 열까지 지정가능
e.g> df.iloc[3:5, 0:2]
행(인덱스) 3,4 / 열(컬럼) 0,1
DataFrame[n:m]
인덱스 n부터 m-1가지 읽어줌
직접 "인덱스명"으로도 읽을 수 있음!
DataFrame
이 자체로도 호출가능, 보통 변수에 담아 변수를 호출함.
.info()
DataFrame의 기본 정보확인
여기서는 각 컬럼의 크기와 데이터형태를 확인하는 경우가 많다.
.describe()
DataFrame의 통계적 기본 정보를 확인
최소값, 최대값,평균 등 정보가 나온다.
.sort_values(by="기준 컬럼" ascending=True)
ascending이 True면 오름차순, False면 내림차순
.merge(left,right,on="key")
key컬럼을 기준으로 2개의 DataFrame 병합
.merge(left,right,how="left", on="key")
left에 key를 기준으로 병합
- how에는 기본 inner(교집합-그래서 지정없을 시 공통사항만 병합됌.), outer이 있다.
.set_index("컬럼명", inplace=True)
데이터 정리하며 데이터 재지정.
.unique로 겹치는 정보가 없는 데이터로 index 지정!
늘 그 지난 주간이 바빴다고 느끼지만 이번주는 시간과의 싸움(X) - 전쟁(O)이였다. 파이썬 테스트가 가장 크게 자리했고, 실습으로 진행을 나가서 따라잡기에는 복습 밖에 없는데 복습 또한 시간 아닌가.... 진도도 나가야하는데 팀스터디에 스터디노트도 신경써야한다...
테스트 문제 풀면서 이런걸 배웠나 싶은게 지금 스터디노트 작성하면서 지난 자료 보는데.. 배웠네....... 내 노트라도 잘 봐야겠다..
휘발성 공부가 되지않게.........