데이터 프레임이란,
데이터프레임은 행과 열이 존재하는 2차원 테이블을 말합니다.
데이터프레임을 만드는 방법은 여러가지가 있으며 그 중 하나는 다음과 같습니다.
===============================================================
데이터프레임이름 = pd.DataFrame({'칼럼명1' : [원소1, 원소2... 원소n],
'칼럼명2' : [원소1, 원소2... 원소n],
...
'칼럼명N' : [원소1, 원소2... 원소n]}}
-------------------------------------------------------------------------------------------------------------------------
1) 상위 5개만 출력하기
# head()를 하면 상위 5개의 행만 출력
# head(10)을 하면 상위 10개의 행만 출력
데이터프레임이름.head()
-> select top 5 * from ~ order by 1
2) 하위 5개만 출력하기
# tail()를 하면 하위 5개의 행만 출력
# tail(10)을 하면 하위 10개의 행만 출력
데이터프레임이름.tail()
-> select top 5 * from ~ order by 1 desc
3) 랜덤 몇개만 출력하기
# sample(숫자)를 하면 랜덤으로 2개의 행만 출력
df.sample(2)
4) NEWdf = pd.concat([df1, df])
데이터프레임 2개 붙이기
total_df = pd.concat([df1, df2])
5) # 데이터프레임을 csv 파일로 저장
total_df.to_csv('data.csv', index=False)
--> index = True 를 넣어보니 에러남 ㅋㅋ
6) # csv 파일을 읽어서 데이터프레임에 저장
new_df = pd.read_table('data.csv', sep=',')
df = pd.read_table('news_data.csv', sep=',')
7) # 데이터프레임의 이름.isnull().sum()
-> 데이터프레임에서 각 열마다 존재하는 결측값의 개수를 카운트해서 보여줍니다.
8) type(데이터프레임이름)
데이터 타입 확인하기
>>> pandas.core.fram.DataFrame
9) 데이터프레임이름.index
인덱스 확인하기
>>>RangeIndex(start=0, stop=193, step=1)
# 현재 인덱스는 0부터 시작해서 +1씩(step) 증가하여 192까지 있습니다. 참고로 193에서 stop한다는 것은 193은 포함하지 않는다는 의미입니다. 즉, 0번부터 192번까지의 샘플이 있는 셈이므로 총 샘플의 수는 193개입니다.
10) 데이터프레임이름.dtypes
# 데이터프레임의 열 타입 확인하기
--> object : 문자열
--> int64: 정수형 데이터
--> float64: 실수형 데이터
11) 데이터프레임이름.shape
# 데이터프레임의 행과 열의 개수 출력
12) 데이터프레임이름.values
--> 데이터프레임 형태를 Numpy 행렬 형태로 변환하여 출력함.
array([['Afghanistan', 0, 0, 0, 0.0, 'AS'],
['Albania', 89, 132, 54, 4.9, 'EU'],
['Algeria', 25, 0, 14, 0.7, 'AF'],
...,
['Yemen', 6, 0, 0, 0.1, 'AS'],
['Zambia', 32, 19, 4, 2.5, 'AF'],
['Zimbabwe', 64, 18, 4, 4.7, 'AF']], dtype=object)
# 데이터프레임 이름. valuse[0]
>>> array(['Afghanistan', 0, 0, 0, 0.0, 'AS'], dtype=object)
--> 0번째 행만 보여줌
--> 즉, for문 접근 가능!
for i in drink_df.values[0]
print(i)
>>> Afghanistan 0 0 0 0.0 AS
13) 데이터프레임이름.보고싶은열 (drink_df.beer_servings)
혹은, 데이터프레임이름['보고싶은 열']
--> 데이터 프레임 중 특정 열만 접근하는 방법!
Select 칼럼명 from 테이블 명
14) 시리즈(Series)란,
2차원 테이블 형태를 데이터프레임이라고 부르지만, 이렇게 특정 하나의 열만을 불러올 경우에는 데이터프레임이 아니라 데이터타입이 판다스(Pandas)에서 제공하는 또 다른 데이터 타입인 '시리즈(Series)'가 됩니다.
# 컬럼의 타입 확인
type(drink_df.beer_servings)
>>>pandas.core.series.Series
* 다수의 열에 접근 가능!
15) 데이터프레임의 info
데이터프레임.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 193 entries, 0 to 192
Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 country 193 non-null object
1 beer_servings 193 non-null int64
2 spirit_servings 193 non-null int64
3 wine_servings 193 non-null int64
4 total_litres_of_pure_alcohol 193 non-null float64
5 continent 170 non-null object
dtypes: float64(1), int64(3), object(2)
memory usage: 9.2+ KB
16) 데이터프레임명.describe()
--> 총 데이터의 수(count) / 평균(mean) / 표준편차(std) / 분위수(25%, 50%, 75%) 를 파악하여 출력합니다.
하지만, 이는 숫자 즉, 수치 정보에 국한되어서 계산하므로 문자열 타입의 데이터은 안나옴!
--->데이터프레임명.보고싶은열.decsribe() 쌉 가능!
------> describe() 대신 mean() / max() / min() / sum() / count() 쌉가능~~~
* 평균 구하기!
float(drink_df.beer_servings.sum()) / drink_df.beer_servings.count()
'파이썬' 카테고리의 다른 글
1_2 데이터프레임 문법(?) (0) | 2021.10.17 |
---|---|
파이썬 시-작 (0) | 2021.10.10 |