Appendix. 데이터 정보 확인

dpwl·2024년 6월 22일

Data Analysis with Python

목록 보기
22/48

1. Data Type의 종류

  • object: 기본적인 연속형, 범주형 데이터가 아닌 데이터들을 표현 (대부분 string<문자열>인 경우가 많다)
  • int: 정수형 데이터
  • float: 실수형 데이터
  • datetime: 날짜형 데이터
  • category: 범주형 데이터

2. 특정 Column의 Unique 확인

2.1 Pandas의 Series 내장 함수 사용

Series.unique()

예시:

df['Gender'].unique()

# array(['M', 'F'], dtype=object)

2.2 Numpy의 Unique 함수 활용

np.unique(Series)

예시:

import numpy as np

np.unique(df['Gender'])
array(['M', 'F'], dtype=object)

*return_count 등의 parameter를 사용할 때 유용

3. DataFrame 형태 변환 함수 파라미터 inplace

pandas.DataFrame의 형태를 변환시키는 함수에서 사용 가능한 파라미터:
sort_values()
sort_index()
rename()
set_index()
reset_index()
drop()
dropna()
fillna()
replace()
update()
pop()

df = df.sort_index()

df.sort_index(inplace=True)

위의 두 함수는 똑같이 작동한다. inplace를 입력하면 return으로 아무 값도 주지 않고 해당 DataFrame의 값이 바뀐다.

첫 번째 코드는 정렬된 DataFrame을 새로 만들어서 새로 할당하는 것이라, 효율성 측면에서 두 번째 코드보다 떨어진다. 데이터의 크기가 크다면 inplace를 활용하는 것이 좋다.

4. sorting (정렬)

4.1 numpy

4.1.1 np.sort(array)

  • unique한 값 등을 정렬할 때 사용하기 좋다.
  • order 파라미터를 이용하면 구조화된 데이터에 사용하기 좋다.
    • dict 등 (DataFrame에서는 안됨)
  • ascending, descending 등 정렬 방법이 없음
    • [::-1]과 같이 인덱싱을 활용
import numpy as np

np.sort(np.unique(apartment_df['year_of_completion']))

# 결과값:
# array([1961, 1962, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973,
#        1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984,
#        1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
#        1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
#        2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017])
np.sort(np.unique(apartment_dff['year_of_completion']))

# 결과값:
# array([2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007,
#        2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, 1998, 1997, 1996,
#        1995, 1994, 1993, 1992, 1991, 1990, 1989, 1988, 1987, 1986, 1985,
#        1984, 1983, 1982, 1981, 1980, 1979, 1978, 1977, 1976, 1975, 1974,
#        1973, 1972, 1971, 1970, 1969, 1968, 1967, 1966, 1965, 1962, 1961])
profile
거북선통통통통

0개의 댓글