Ethan's Values
Pandas study - pandas 튜토리얼(3) 본문
반응형
DataFrame에서 특정 컬럼(열) 선택하기
열과 행의 갯수를 알 수 있는 DataFrame과 Series의 속성 DataFrame.shape
두 열의 정보를 알고자 할 때는 [ ] 를 이중으로 사용하여 데이터를 불러온다.
DataFrame에서 특정 로우(행) 선택하기
35세 이상인 데이터를 뽑을 때 아래와 같이 조건식을 기반으로 해당 행(데이터)를 추출할 수 있다.
In [12]: above_35 = titanic[titanic["Age"] > 35]
In [13]: above_35.head()
Out[13]:
PassengerId Survived Pclass ... Fare Cabin Embarked
1 2 1 1 ... 71.2833 C85 C
6 7 0 1 ... 51.8625 E46 S
11 12 1 1 ... 26.5500 C103 S
13 14 0 3 ... 31.2750 NaN S
15 16 1 2 ... 16.0000 NaN S
[5 rows x 12 columns]
조건식은 부울 값임
In [14]: titanic["Age"] > 35
Out[14]:
0 False
1 True
2 False
3 False
4 False
...
886 False
887 False
888 False
889 False
890 False
Name: Age, Length: 891, dtype: bool
만약 객실 클래스 2와3의 슥객들을 볼 때는 isin함수를 사용하여 부울 값으로 반환하여 Pclass가 2,3에 속하는 승객들을 확인할 수 있다.
In [16]: class_23 = titanic[titanic["Pclass"].isin([2, 3])]
In [17]: class_23.head()
Out[17]:
PassengerId Survived Pclass ... Fare Cabin Embarked
0 1 0 3 ... 7.2500 NaN S
2 3 1 3 ... 7.9250 NaN S
4 5 0 3 ... 8.0500 NaN S
5 6 0 3 ... 8.4583 NaN Q
7 8 0 3 ... 21.0750 NaN S
[5 rows x 12 columns]
또는 아래 코드 처럼 | (OR) 연산자로 결합할 수 있다.
In [18]: class_23 = titanic[(titanic["Pclass"] == 2) | (titanic["Pclass"] == 3)]
In [19]: class_23.head()
Out[19]:
PassengerId Survived Pclass ... Fare Cabin Embarked
0 1 0 3 ... 7.2500 NaN S
2 3 1 3 ... 7.9250 NaN S
4 5 0 3 ... 8.0500 NaN S
5 6 0 3 ... 8.4583 NaN Q
7 8 0 3 ... 21.0750 NaN S
[5 rows x 12 columns]
NaN값 제거하기
In [20]: age_no_na = titanic[titanic["Age"].notna()]
In [21]: age_no_na.head()
Out[21]:
PassengerId Survived Pclass ... Fare Cabin Embarked
0 1 0 3 ... 7.2500 NaN S
1 2 1 1 ... 71.2833 C85 C
2 3 1 3 ... 7.9250 NaN S
3 4 1 1 ... 53.1000 C123 S
4 5 0 3 ... 8.0500 NaN S
[5 rows x 12 columns]
DataFrame에서 특정 로우(행) ,컬럼(열) 선택하기
loc/iloc으로 조건에 해당하는 행의 특정 열을 확인할 수 있다.
loc[ A, B] A에는 행의 원하는 조건을 넣고, B에는 찾기 위한 원하는 컬럼을 넣으면 된다.
In [23]: adult_names = titanic.loc[titanic["Age"] > 35, "Name"]
In [24]: adult_names.head()
Out[24]:
1 Cumings, Mrs. John Bradley (Florence Briggs Th...
6 McCarthy, Mr. Timothy J
11 Bonnell, Miss. Elizabeth
13 Andersson, Mr. Anders Johan
15 Hewlett, Mrs. (Mary D Kingcome)
Name: Name, dtype: object
인덱스 값으로 특정 데이터를 찾을때는 iloc을 아래와 같이 사용하면 된다.
In [25]: titanic.iloc[9:25, 2:5]
Out[25]:
Pclass Name Sex
9 2 Nasser, Mrs. Nicholas (Adele Achem) female
10 3 Sandstrom, Miss. Marguerite Rut female
11 1 Bonnell, Miss. Elizabeth female
12 3 Saundercock, Mr. William Henry male
13 3 Andersson, Mr. Anders Johan male
.. ... ... ...
20 2 Fynney, Mr. Joseph J male
21 2 Beesley, Mr. Lawrence male
22 3 McGowan, Miss. Anna "Annie" female
23 1 Sloper, Mr. William Thompson male
24 3 Palsson, Miss. Torborg Danira female
[16 rows x 3 columns]
선택한 데이터를 수정해보자.
REMEMBER
1. loc은 행 및 열의 라벨을 사용하여 특정 행/열을 선택한다.
2. iloc은 위치를 사용할 때 선택한다.
3. loc으로 선택 항목에 새 값을 할당할 수 있다.
'Python' 카테고리의 다른 글
Pandas study - pandas 튜토리얼(6) (2) | 2023.10.19 |
---|---|
Pandas study - pandas 튜토리얼(5) (0) | 2023.10.19 |
Pandas study - pandas 튜토리얼(4) (0) | 2023.10.19 |
Pandas study - pandas 튜토리얼(2) (0) | 2023.10.19 |
Pandas study - pandas 튜토리얼(1) (0) | 2023.10.18 |
Comments