[Pandas] DataFrame Numpy array로 변환하기
import pandas as pd
import numpy as np
df = pd.read_csv("train.csv")
df = df[["PassengerId", "Survived", "Pclass", "Age", "Parch", "Fare"]]
df
PassengerId | Survived | Pclass | Age | Parch | Fare | |
---|---|---|---|---|---|---|
0 | 1 | 0 | 3 | 22.0 | 0 | 7.2500 |
1 | 2 | 1 | 1 | 38.0 | 0 | 71.2833 |
2 | 3 | 1 | 3 | 26.0 | 0 | 7.9250 |
3 | 4 | 1 | 1 | 35.0 | 0 | 53.1000 |
4 | 5 | 0 | 3 | 35.0 | 0 | 8.0500 |
... | ... | ... | ... | ... | ... | ... |
886 | 887 | 0 | 2 | 27.0 | 0 | 13.0000 |
887 | 888 | 1 | 1 | 19.0 | 0 | 30.0000 |
888 | 889 | 0 | 3 | NaN | 2 | 23.4500 |
889 | 890 | 1 | 1 | 26.0 | 0 | 30.0000 |
890 | 891 | 0 | 3 | 32.0 | 0 | 7.7500 |
891 rows × 6 columns
- info 함수를 사용하여 Nan값 확인하기
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 PassengerId 891 non-null int64
1 Survived 891 non-null int64
2 Pclass 891 non-null int64
3 Age 714 non-null float64
4 Parch 891 non-null int64
5 Fare 891 non-null float64
dtypes: float64(2), int64(4)
memory usage: 41.9 KB
위의 컬럼에서 Age 컬럼에 (891 - 714) 개의 Nan값이 있는것을 확인
- fillna를 사용하여 Nan값 처리하기
df["Age"].fillna(df["Age"].mean(), inplace=True) #Age에서 Nan값을 Age의 평균으로 바꿈
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 PassengerId 891 non-null int64
1 Survived 891 non-null int64
2 Pclass 891 non-null int64
3 Age 891 non-null float64
4 Parch 891 non-null int64
5 Fare 891 non-null float64
dtypes: float64(2), int64(4)
memory usage: 41.9 KB
다시 info함수를 사용해보면 Age 컬럼이 Nan값이 없어졌음을 알 수 있다.
pandas 의 dataframe을 numpy array로 바꾸기
df = df[:10]
df
PassengerId | Survived | Pclass | Age | Parch | Fare | |
---|---|---|---|---|---|---|
0 | 1 | 0 | 3 | 22.000000 | 0 | 7.2500 |
1 | 2 | 1 | 1 | 38.000000 | 0 | 71.2833 |
2 | 3 | 1 | 3 | 26.000000 | 0 | 7.9250 |
3 | 4 | 1 | 1 | 35.000000 | 0 | 53.1000 |
4 | 5 | 0 | 3 | 35.000000 | 0 | 8.0500 |
5 | 6 | 0 | 3 | 29.699118 | 0 | 8.4583 |
6 | 7 | 0 | 1 | 54.000000 | 0 | 51.8625 |
7 | 8 | 0 | 3 | 2.000000 | 1 | 21.0750 |
8 | 9 | 1 | 3 | 27.000000 | 2 | 11.1333 |
9 | 10 | 1 | 2 | 14.000000 | 0 | 30.0708 |
df = df.to_numpy()
df
array([[ 1. , 0. , 3. , 22. , 0. ,
7.25 ],
[ 2. , 1. , 1. , 38. , 0. ,
71.2833 ],
[ 3. , 1. , 3. , 26. , 0. ,
7.925 ],
[ 4. , 1. , 1. , 35. , 0. ,
53.1 ],
[ 5. , 0. , 3. , 35. , 0. ,
8.05 ],
[ 6. , 0. , 3. , 29.69911765, 0. ,
8.4583 ],
[ 7. , 0. , 1. , 54. , 0. ,
51.8625 ],
[ 8. , 0. , 3. , 2. , 1. ,
21.075 ],
[ 9. , 1. , 3. , 27. , 2. ,
11.1333 ],
[10. , 1. , 2. , 14. , 0. ,
30.0708 ]])
pandas의 dataframe이 numpy array의 행렬로 바뀐것을 볼 수 있다.
Author And Source
이 문제에 관하여([Pandas] DataFrame Numpy array로 변환하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@skkumin/Pandas-DataFrame-Numpy-array로-변환하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)