일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- SQL
- matplotlib
- google apps script
- string
- hive
- Excel
- PostgreSQL
- Kotlin
- c#
- PANDAS
- PySpark
- gas
- numpy
- django
- Tkinter
- Google Spreadsheet
- 파이썬
- Google Excel
- list
- math
- dataframe
- Python
- Apache
- array
- Redshift
- Java
- GIT
- Github
- Mac
- Today
- Total
달나라 노트
Python Pandas : empty (Series 또는 DataFrame이 비어있는지 확인하기.) 본문
Python Pandas : empty (Series 또는 DataFrame이 비어있는지 확인하기.)
CosmosProject 2022. 8. 22. 19:21
pandas의 empty는 Series 또는 DataFrame이 비어있으면 True를 return합니다. 반대로 비어있지 않으면 False를 return합니다.
import pandas as pd
dict_test = {
}
df_test = pd.DataFrame(dict_test)
print(df_test)
print(df_test.empty)
-- Result
Empty DataFrame
Columns: []
Index: []
True
위 예시는 비어있는 DataFrame인 df_test를 만들고 df_test의 empty를 적용한 결과입니다.
DataFrame에 column도 row도 아무것도 없으니 비어있죠. 따라서 True가 return됩니다.
import pandas as pd
dict_test = {
'col1': [],
'col2': [],
}
df_test = pd.DataFrame(dict_test)
print(df_test)
print(df_test.empty)
-- Result
Empty DataFrame
Columns: [col1, col2]
Index: []
True
이번에는 DataFrame에 column 2개(col1, col2)를 추가해보았습니다.
단, column만 추가하고 row는 추가하지 않았습니다.
DataFrame이 비어있는 조건은 row가 없는 상황입니다.
위 상황은 column만 2개 존재하고 그 column에 들어간 데이터들이 하나도 없는 상태(= row가 하나도 없는 상태)이기 때문에 비어있는 DataFrame이라고 할 수 있습니다.
따라서 마찬가지로 True가 return됩니다.
import pandas as pd
dict_test = {
'col1': [1],
'col2': [2],
}
df_test = pd.DataFrame(dict_test)
print(df_test)
print(df_test.empty)
-- Result
col1 col2
0 1 2
False
이번에는 DataFrame에 존재하는 column들에 데이터를 넣어주었습니다.
하나의 행이 생겼으며 당연히 DataFrame은 비어있지 않게 됩니다.
즉, empty의 결과로서 False가 return됩니다.
import pandas as pd
import numpy as np
dict_test = {
'col1': [np.nan],
'col2': [np.nan],
}
df_test = pd.DataFrame(dict_test)
print(df_test)
print(df_test.empty)
-- Result
col1 col2
0 NaN NaN
False
이번 예시는 numpy를 이용하여 DataFrame에 NaN값을 넣었습니다.
NaN값은 null값과 비슷한 의미를 가지며, 값이 없는 비어있는 상태라고 보면 됩니다.
근데 empty의 결과로는 False가 나왔습니다.
NaN값이 있어도 NaN값을 담은 하나의 행이 생성되었기 때문에 DataFrame은 비어있지 않다라고 판단되었기 때문이죠.
DataFrame이 비어있는 기준은 행에 어떤 데이터가 있는지는 상관없습니다.
단지 DataFrame에 행이 하나도 없으면 비어있다고 판단하고, 행이 하나라도 있으면 DataFrame이 비어있지 않다라고 판단하는 것이죠.
Series에서도 위와 동일합니다.
import pandas as pd
sr_test = pd.Series([])
print(sr_test)
print(sr_test.empty)
-- Result
Series([], dtype: float64)
True
데이터가 하나도 없는 비어있는 Series를 생성했더니 empty의 결과로 True가 return되었습니다.
import pandas as pd
sr_test = pd.Series([1])
print(sr_test)
print(sr_test.empty)
-- Result
0 1
dtype: int64
False
뭔가 데이터를 넣어주면 Series가 더 이상 비어있지 않게 되고 empty의 결과로 당연히 False가 return됩니다.
import pandas as pd
import numpy as np
sr_test = pd.Series([np.nan])
print(sr_test)
print(sr_test.empty)
-- Result
0 NaN
dtype: float64
False
Series에서도 마찬가지로 NaN값이 포함되어있으면 비록 값 자체는 없지만 Series가 비어있지는 않다고 판단합니다.
그래서 empty의 결과로 False가 return됩니다.
'Python > Python Pandas' 카테고리의 다른 글
Python Pandas : read_json (json 파일을 읽어서 DataFrame으로 만들기. json dataframe 변환.) (0) | 2022.11.12 |
---|---|
Python Pandas : to_json (DataFrame을 json 파일로 만들기.) (0) | 2022.11.12 |
Python Pandas : Series.unique (중복없는 값 추출) (0) | 2022.05.03 |
Python Pandas : DataFrame.min, DataFrame.max (컬럼간의 최소값, 최대값) (0) | 2022.05.03 |
Python Pandas : isna (NaN 값 테스트하기, NaN 값 필터링) (0) | 2022.02.18 |