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 |