.head()는 데이터 프레임의 상위 정보를 보여준다.
ex) df.head(3)이면 df의 상위 3개의 행만 가져와서 보여준다.
.info()는 아래와 같이 데이터 프레임의 전체적인 정보를 가져온다.

describe()는 숫자 타입을 가진 컬럼값들의 기초 통계량을 가져온다.

df = pd.DataFrame({
'A' : [1,2,3,4],
'B': [5,6,7,None]
})
먼저 데이터 프레임을 만들고 df.info()로 해당 데이터프레임에 null값이 있는지 찾는다.

위의 그림에서 B 에서 Non-Null Count가 3이기 떄문에 null 이 하나 존재하는것을 알수 있다.
df.insa()를 사용하면 
이런식으로 나오는데 기본값으로 null 값이면 True로 설정 되어 있어 시각적으로 어느 위치에 null이 있는지 확인할수 있다.
값이 적을때는 isna()로도 충분히 볼수 있지만 값이 너무 많으면 df[df['B'].isna()]을 써서 null값이 있는 컬럼을 적어주면 구체적인 위치를 확인할수 있다.

위 의info()로 나온 출력결과를 보면 Dtype에 데이터의 타입을 컬럼별로 보여주고 있다. 이런식으로 전부 출력해서 볼수도 있지만 값이 많은 경우 원하는 컬럼만 집어서 볼수 있다
df['total_bill'].dtype # .dtype 데이터 타입 조회
출력 결과: dtype('float64')
df['total_bill'] = df['total_bill'].astype(str) # 해당 컬럼의 데이터 타입 변경
.astype()으로 해당 컬럼의 데이터 타입을 변경 할수도 있다.

위의 사진을 보면 total_bill 칼럼의 Dtype이 string 형태인 object로 바뀐걸 볼수 있다.