๋ฐ์ํ
ํ๋ค์ค์ ๋ฐ์ดํฐํ๋ ์์์ ํน์ ์ปฌ๋ผ์ ๊ฐ์ด ๊ณต๋ฐฑ(๋๋ ๋น ๋ฌธ์์ด)์ธ ํ์ ์ ์ธํ๊ณ ์ถ์ ๋ ์ด๋ป๊ฒ ํ๋ฉด ๋๋์ง ์์๋ณด์.
ํน์ ์ปฌ๋ผ์ ๊ณต๋ฐฑ์ธ ํ ์ ๊ฑฐ
import pandas as pd
# ์ํ ๋ฐ์ดํฐํ๋ ์ ์์ฑ
data = {'A': [1, 2, 3, 4],
'B': ['apple', 'banana', '', 'orange']}
df = pd.DataFrame(data)
# 'B' ์ปฌ๋ผ์ ๊ฐ์ด ๊ณต๋ฐฑ์ธ ํ ์ ์ธ
df_no_empty_values = df[df['B'].str.strip() != '']
# ๊ฒฐ๊ณผ ์ถ๋ ฅ
print(df_no_empty_values)
- ์ ์ฝ๋์์ df['B'].str.strip() != '' ๋ถ๋ถ์ 'B' ์ปฌ๋ผ์ ๊ฐ ๊ฐ์ ๋ํด ์ข์ฐ์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ๊ณ ๋น ๋ฌธ์์ด๊ณผ ๋น๊ตํ์ฌ ๊ณต๋ฐฑ์ธ์ง ์ฌ๋ถ๋ฅผ ํ์ธ ๊ฐ๋ฅ
- ์ด ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐํ๋ ์์ ํํฐ๋งํ๋ฉด 'B' ์ปฌ๋ผ์ ๊ฐ์ด ๊ณต๋ฐฑ์ธ ํ์ด ์ ์ธ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.
๋ชจ๋ ์ปฌ๋ผ์ ๊ณต๋ฐฑ์ธ ํ ์ ๊ฑฐ
import pandas as pd
# ์ํ ๋ฐ์ดํฐํ๋ ์ ์์ฑ
data = {'A': [1, 2, 3, 4],
'B': ['apple', 'banana', '', 'orange']}
df = pd.DataFrame(data)
# ๊ณต๋ฐฑ์ NaN์ผ๋ก ๋์ฒด
df = df.replace('', pd.NA)
# NaN์ด ์๋ ํ ์ ๊ฑฐ
df_no_empty_values = df.dropna()
# ๊ฒฐ๊ณผ ์ถ๋ ฅ
print(df_no_empty_values)
- dropna() ํจ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก NaN(Not a Number) ๊ฐ์ด ์๋ ๋ชจ๋ ํ์ ์ ๊ฑฐํ๋ค.
- ๋ง์ฝ ๋ฐ์ดํฐํ๋ ์์์ ๊ณต๋ฐฑ์ด๋ ๋น ๋ฌธ์์ด์ด ์๋ ํ์ dropna() ํจ์๋ก ์ ๊ฑฐํ๊ณ ์ถ๋ค๋ฉด, replace() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ณต๋ฐฑ์ NaN์ผ๋ก ๋ณ๊ฒฝํ ํ์ dropna()๋ฅผ ์ ์ฉํ ์ ์๋ค.
- ํน์ ์ปฌ๋ผ์์ ๊ณต๋ฐฑ์ด ์๋ ํ๋ง ์ ๊ฑฐํ๊ณ ์ถ๋ค๋ฉด, ํน์ ์ปฌ๋ผ์ ๊ณต๋ฐฑ๋ง NaN์ผ๋ก ๋ณ๊ฒฝํ dropna() ํจ์๋ฅผ ์ฌ์ฉํ ์๋ ์๋ค.
๋ฐ์ํ