728x90
Subset Variables (Columns)¶
In [1]:
import pandas as pd
import seaborn as sns
In [2]:
df = sns.load_dataset("iris")
df.head()
Out[2]:
| sepal_length | sepal_width | petal_length | petal_width | species | |
|---|---|---|---|---|---|
| 0 | 5.1 | 3.5 | 1.4 | 0.2 | setosa |
| 1 | 4.9 | 3.0 | 1.4 | 0.2 | setosa |
| 2 | 4.7 | 3.2 | 1.3 | 0.2 | setosa |
| 3 | 4.6 | 3.1 | 1.5 | 0.2 | setosa |
| 4 | 5.0 | 3.6 | 1.4 | 0.2 | setosa |
원하는 column 여러개를 출력합니다.¶
In [3]:
df[['sepal_length','sepal_width','species']]
Out[3]:
| sepal_length | sepal_width | species | |
|---|---|---|---|
| 0 | 5.1 | 3.5 | setosa |
| 1 | 4.9 | 3.0 | setosa |
| 2 | 4.7 | 3.2 | setosa |
| 3 | 4.6 | 3.1 | setosa |
| 4 | 5.0 | 3.6 | setosa |
| ... | ... | ... | ... |
| 145 | 6.7 | 3.0 | virginica |
| 146 | 6.3 | 2.5 | virginica |
| 147 | 6.5 | 3.0 | virginica |
| 148 | 6.2 | 3.4 | virginica |
| 149 | 5.9 | 3.0 | virginica |
150 rows × 3 columns
원하는 column을 하나만 출력합니다.¶
In [4]:
df['sepal_length']
Out[4]:
0 5.1
1 4.9
2 4.7
3 4.6
4 5.0
...
145 6.7
146 6.3
147 6.5
148 6.2
149 5.9
Name: sepal_length, Length: 150, dtype: float64
In [5]:
df.sepal_length
Out[5]:
0 5.1
1 4.9
2 4.7
3 4.6
4 5.0
...
145 6.7
146 6.3
147 6.5
148 6.2
149 5.9
Name: sepal_length, Length: 150, dtype: float64
컬럼이 정규식 패턴과 일치하는 부분을 출력합니다.¶
In [6]:
df.filter(regex='regex')
Out[6]:
| 0 |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| ... |
| 145 |
| 146 |
| 147 |
| 148 |
| 149 |
150 rows × 0 columns
In [7]:
df.filter(regex='length$')
Out[7]:
| sepal_length | petal_length | |
|---|---|---|
| 0 | 5.1 | 1.4 |
| 1 | 4.9 | 1.4 |
| 2 | 4.7 | 1.3 |
| 3 | 4.6 | 1.5 |
| 4 | 5.0 | 1.4 |
| ... | ... | ... |
| 145 | 6.7 | 5.2 |
| 146 | 6.3 | 5.0 |
| 147 | 6.5 | 5.2 |
| 148 | 6.2 | 5.4 |
| 149 | 5.9 | 5.1 |
150 rows × 2 columns
예를들어 다음과 같이 하면 컬럼명중 끝이 length로 끝나는 컬럼을 매칭하여 출력합니다.
In [8]:
df.filter(regex='^sepal' )
Out[8]:
| sepal_length | sepal_width | |
|---|---|---|
| 0 | 5.1 | 3.5 |
| 1 | 4.9 | 3.0 |
| 2 | 4.7 | 3.2 |
| 3 | 4.6 | 3.1 |
| 4 | 5.0 | 3.6 |
| ... | ... | ... |
| 145 | 6.7 | 3.0 |
| 146 | 6.3 | 2.5 |
| 147 | 6.5 | 3.0 |
| 148 | 6.2 | 3.4 |
| 149 | 5.9 | 3.0 |
150 rows × 2 columns
예를들어 다음과 같이 하면 컬렴명중 sepal로 시작하는 컬럼을 매칭하여 출력합니다.
컬럼 중 원하는 구간을 선택하여 출력합니다.¶
In [9]:
df.loc[:,'sepal_width':'species']
Out[9]:
| sepal_width | petal_length | petal_width | species | |
|---|---|---|---|---|
| 0 | 3.5 | 1.4 | 0.2 | setosa |
| 1 | 3.0 | 1.4 | 0.2 | setosa |
| 2 | 3.2 | 1.3 | 0.2 | setosa |
| 3 | 3.1 | 1.5 | 0.2 | setosa |
| 4 | 3.6 | 1.4 | 0.2 | setosa |
| ... | ... | ... | ... | ... |
| 145 | 3.0 | 5.2 | 2.3 | virginica |
| 146 | 2.5 | 5.0 | 1.9 | virginica |
| 147 | 3.0 | 5.2 | 2.0 | virginica |
| 148 | 3.4 | 5.4 | 2.3 | virginica |
| 149 | 3.0 | 5.1 | 1.8 | virginica |
150 rows × 4 columns
다음은 sepal_width와 species를 포함하여 그 사이에 있는 컬럼들을 출력합니다.
원하는 위치값으로 출력하기¶
In [10]:
df.iloc[:,[1,2,4]]
Out[10]:
| sepal_width | petal_length | species | |
|---|---|---|---|
| 0 | 3.5 | 1.4 | setosa |
| 1 | 3.0 | 1.4 | setosa |
| 2 | 3.2 | 1.3 | setosa |
| 3 | 3.1 | 1.5 | setosa |
| 4 | 3.6 | 1.4 | setosa |
| ... | ... | ... | ... |
| 145 | 3.0 | 5.2 | virginica |
| 146 | 2.5 | 5.0 | virginica |
| 147 | 3.0 | 5.2 | virginica |
| 148 | 3.4 | 5.4 | virginica |
| 149 | 3.0 | 5.1 | virginica |
150 rows × 3 columns
다음과 같이 원하는 컬럼의 위치값을 이용하여 출력을 할 수도 있습니다.
특정 조건을 만족하는 행과 열¶
In [11]:
df.loc[df['sepal_width'] > 3, ['sepal_width','species']]
Out[11]:
| sepal_width | species | |
|---|---|---|
| 0 | 3.5 | setosa |
| 2 | 3.2 | setosa |
| 3 | 3.1 | setosa |
| 4 | 3.6 | setosa |
| 5 | 3.9 | setosa |
| ... | ... | ... |
| 140 | 3.1 | virginica |
| 141 | 3.1 | virginica |
| 143 | 3.2 | virginica |
| 144 | 3.3 | virginica |
| 148 | 3.4 | virginica |
67 rows × 2 columns
다음은 sepal_width, species열을 가져오는데, sepal_width가 3이상인 조건을 만족하는 행만 출력합니다.
In [12]:
from IPython.core.display import display, HTML
display(HTML("<style>.container {width:90% !important;}</style>"))
'Python' 카테고리의 다른 글
| [Pandas] Pandas Cheat Sheet(Handling Missing Data) (0) | 2021.06.21 |
|---|---|
| [Pandas] Pandas Cheat Sheet(Summarize Data) (0) | 2021.06.20 |
| [Pandas] Pandas Cheat Sheet(Subset Observations(Rows)) (0) | 2021.05.23 |
| [Pandas] Pandas Cheat Sheet(Reshaping Data) (0) | 2021.05.20 |
| [Pandas] Pandas Cheat Sheet (Creating DataFrames) (0) | 2021.05.16 |