# head()로 5개만 출력
# df['컬럼명'==n]이 true를 리턴하는 행을 확인
df[df['컬럼명'==n]].head()

df[df['컬럼명'==n]].head().reset_index(drop=True)
# drop=True를 해주지 않으면, index를 새로운 컬럼으로 만듬
# index가 컬럼일 필요가 없으면 drop=True해주기
df[['컬럼명1', '컬럼명2']]
대괄호 1개: 하나의 열만 선택 (Series로 반환)
대괄호 2개: 여러 개의 열을 선택 (DataFrame으로 반환)
여기에선 'item_price' 컬럼이 $1.23 같은 string으로 저장되어있다고 가정합니다.
여기에서 $를 없애고, 숫자값을 float로 저장합니다.
# str[1:]는, 데이터의 1번째 인덱스부터만 취하겠다는 의미
df['item_price'] = df['item_price'].str[1:].astype('float')
len(df[df['item_price']<=5])
# sort_values의 default는 오름차순 정렬
df.sort_values('컬럼명').reset_index(drop=True)
# sort_values의 default는 오름차순 정렬
df.sort_values('컬럼명', ascending = False).reset_index(drop=True)
# 실습해보니, Cannot mask with non-boolean array containing NA / NaN values 라는 오류가 나서 notnull() 조건을 추가해주었음
# df.isnull().sum() 했을 때 null 수가 0이라고 되어있었는데.. 흠
df[df["컬럼명"].notnull() & df.컬럼명.str.contains('확인할문자열')].head()
# 조건 앞에 '-'를 붙여줌
df[df["컬럼명"].notnull() & -df.컬럼명.str.contains('확인할문자열')].head()
# A로 시작하는 데이터를 찾는다고 하면,
df[df.컬럼명.str.startswith('A')]
df[df.컬럼명.str.len() >= n]
df[df['컬럼명'=='값'] | df['컬럼명'==값]]
#또는
df[(df.컬럼명 == '값' | df.컬럼명== '값')]
#또는
df.loc[(df.컬럼명 == '값' | df.컬럼명== '값')]
# ::2 에서 2는 step을 지정함
# 즉, 컬럼의 인덱스를 2씩 증가시키며 가져오라는 의미
df.iloc[:, ::2]
df.drop_duplicates('컬럼명')
df.drop_duplicates('컬럼명', keep='last')
df[df.컬럼명 >= df.컬럼명.mean()]
# loc[행, 열]
# loc의 첫 번째 인자로 특정 행만 추출한 후, 두 번째 인자에서 특정 컬럼에만 접근하도록 함
df.loc[df.컬럼명 == '값', '컬럼명'] = '새로운 값'
df.loc[df.컬럼명.isnull(), '컬럼명'] = '새로운 값'
list = [1, 2, 3, 4, ... 10]
df.loc[df.컬럼명.isin(list)]
🔵 흥미로웠던 점 :
데이터 분석 프로젝트를 클론 코딩한 후에 이 강의를 들으니 '아 이래서 이랬구나' 하며 이해가 더 잘 되었다. (특히 iloc)
🔵 다음 학습 계획 :
그룹핑에 대해 배울 것입니다.