Tab 23년 2학기 스터디로 AI 공부를 하면서 블로그를 정리해보려한다.
NumPy 기초
Numpy import하기
numpy는 일반적으로 np로 줄여 사용한다.
ndarray 생성
1
2
3
| data = [1,2,3,4]
arr = np.array(data)
type(arr)
|
1
2
3
4
5
6
| price = [
[100,80,70,90],
[120,110,100,110]
]
arr = np.array(price)
arr
|
1
2
| array([[100, 80, 70, 90],
[120, 110, 100, 110]]) #출력값
|
np.array함수를 통해 1,2차원의 ndarray를 생성할 수 있고 tpye은 ndarray타입으로 생성된다.
Numpy 접근
Numpy의 ndarray의 접근은 python의 리스트와 비슷하다.
index로 접근
1
2
| print(arr[0][0])
print(arr[0,0]) # arr[row,column]
|
python과 똑같이 접근할 수 있지만 ndarray는 더 편리하게 접근 할 수 있다.
slicing으로 접근
1
| print(arr[:,1]) # arr[row,column]
|
ndarray는 slicing으로 행과 열을 지정해 접근할 수 있다.
Pandas 기초
Pandas 기본 자료구조
- Series : Numpy를 기반으로 만들어진 1차원 데이터를 위한 자료구조
- DataFrame : Numpy를 기반으로 만들어진 2차원 데이터를 위한 자료구조
Pandas import하기
pandas는 일반적으로 pd로 줄여 사용한다.
Series, DataFrame 생성
1
2
| arr = pd.Series(data)
arr
|
1
2
3
4
5
| 0 1
1 2
2 3
3 4
dtype: int64 # 출력값
|
Pandas의 Series는 pd.Series()로 생성할 수 있다.
1
2
| arr = pd.DataFrame(price)
arr
|
| 0 | 1 | 2 | 3 |
---|
0 | 100 | 80 | 70 | 90 |
---|
1 | 120 | 110 | 100 | 110 |
---|
Pandas의 DataFrame은 pd.DataFrame()로 생성할 수 있다.
Pandas Series, DataFrame의 접근
df를 Series나 DataFrame으로 가정했을 때 3가지 방법으로 접근할 수 있다.
- df[] : 행으로 접근
- df.loc[] : 행과, 열 접근
- df.iloc[] : 오직 index로 행, 열 접근
Pandas 데이터 추가, 변경, 삭제
데이터 추가
1
| df.loc[2] = [111,222,333,444]
|
| 0 | 1 | 2 | 3 |
---|
0 | 100 | 80 | 70 | 90 |
---|
1 | 120 | 110 | 100 | 110 |
---|
2 | 111 | 222 | 333 | 444 |
---|
데이터 삭제
1
2
| arr.drop(2,inplace = True)
arr
|
| 0 | 1 | 2 | 3 |
---|
0 | 100 | 80 | 70 | 90 |
---|
1 | 120 | 110 | 100 | 110 |
---|
데이터 변경
1
2
| arr.loc[1] = ['이도환','황동규','이산','이준하']
arr
|
| 0 | 1 | 2 | 3 |
---|
0 | 100 | 80 | 70 | 90 |
---|
1 | 이도환 | 황동규 | 이산 | 이준하 |
---|
느낀점
Tab 스터디를 통해 잘 기억이 나지 않았던 numpy, pandas 기초에 대해 다시 공부 및 복습을 해보면서 기초를 더 탄탄히 다지는 계기가 되었다.