9. 데이터 복사
new_df = df
new_df.head()
| name | group | company | gender | birthday | height | blood | brand | |
| 0 | 지민 | 방탄소년단 | 빅히트 | 남자 | 1995-10-13 | 173.6 | A | 10523260 |
| 1 | 지드래곤 | 빅뱅 | YG | 남자 | 1988-08-18 | 177 | A | 9916947 |
| 2 | 강다니엘 | NaN | 커넥트 | 남자 | 1996-12-10 | 180 | A | 8273745 |
| 3 | 뷔 | 방탄소년단 | 빅히트 | 남자 | 1995-12-30 | 178 | AB | 8073501 |
| 4 | 화사 | 마마무 | RBW | 여자 | 1995-07-23 | 162.1 | A | 7650928 |
new_df['name'] = '김사과'
new_df.head()
| name | group | company | gender | birthday | height | blood | brand | |
| 0 | 김사과 | 방탄소년단 | 빅히트 | 남자 | 1995-10-13 | 173.6 | A | 10523260 |
| 1 | 김사과 | 빅뱅 | YG | 남자 | 1988-08-18 | 177 | A | 9916947 |
| 2 | 김사과 | NaN | 커넥트 | 남자 | 1996-12-10 | 180 | A | 8273745 |
| 3 | 김사과 | 방탄소년단 | 빅히트 | 남자 | 1995-12-30 | 178 | AB | 8073501 |
| 4 | 김사과 | 마마무 | RBW | 여자 | 1995-07-23 | 162.1 | A | 7650928 |
df.head()
| name | group | company | gender | birthday | height | blood | brand | |
| 0 | 김사과 | 방탄소년단 | 빅히트 | 남자 | 1995-10-13 | 173.6 | A | 10523260 |
| 1 | 김사과 | 빅뱅 | YG | 남자 | 1988-08-18 | 177 | A | 9916947 |
| 2 | 김사과 | NaN | 커넥트 | 남자 | 1996-12-10 | 180 | A | 8273745 |
| 3 | 김사과 | 방탄소년단 | 빅히트 | 남자 | 1995-12-30 | 178 | AB | 8073501 |
| 4 | 김사과 | 마마무 | RBW | 여자 | 1995-07-23 | 162.1 | A | 7650928 |
print(hex(id(new_df))) # 16진수 형태(hex)의 메모리 주소(id)를 반환
print(hex(id(df)))
0x7ff282c8aa60
0x7ff282c8aa60
df = pd.read_csv('http://bit.ly/ds-korean-idol')
df
| 이름 | 그룹 | 소속사 | 성별 | 생년월일 | 키 | 혈액형 | 브랜드평판지수 | |
| 0 | 지민 | 방탄소년단 | 빅히트 | 남자 | 1995-10-13 | 173.6 | A | 10523260 |
| 1 | 지드래곤 | 빅뱅 | YG | 남자 | 1988-08-18 | 177 | A | 9916947 |
| 2 | 강다니엘 | NaN | 커넥트 | 남자 | 1996-12-10 | 180 | A | 8273745 |
| 3 | 뷔 | 방탄소년단 | 빅히트 | 남자 | 1995-12-30 | 178 | AB | 8073501 |
| 4 | 화사 | 마마무 | RBW | 여자 | 1995-07-23 | 162.1 | A | 7650928 |
| 5 | 정국 | 방탄소년단 | 빅히트 | 남자 | 1997-09-01 | 178 | A | 5208335 |
| 6 | 민현 | 뉴이스트 | 플레디스 | 남자 | 1995-08-09 | 182.3 | O | 4989792 |
| 7 | 소연 | 아이들 | 큐브 | 여자 | 1998-08-26 | NaN | B | 4668615 |
| 8 | 진 | 방탄소년단 | 빅히트 | 남자 | 1992-12-04 | 179.2 | O | 4570308 |
| 9 | 하성운 | 핫샷 | 스타크루이엔티 | 남자 | 1994-03-22 | 167.1 | A | 4036489 |
| 10 | 태연 | 소녀시대 | SM | 여자 | 1989-03-09 | NaN | A | 3918661 |
| 11 | 차은우 | 아스트로 | 판타지오 | 남자 | 1997-03-30 | 183 | B | 3506027 |
| 12 | 백호 | 뉴이스트 | 플레디스 | 남자 | 1995-07-21 | 175 | AB | 3301654 |
| 13 | JR | 뉴이스트 | 플레디스 | 남자 | 1995-06-08 | 176 | O | 3274137 |
| 14 | 슈가 | 방탄소년단 | 빅히트 | 남자 | 1993-03-09 | 174 | O | 2925442 |
copy_df['이름'] = '반하나'
copy_df.head()
| 이름 | 그룹 | 소속사 | 성별 | 생년월일 | 키 | 혈액형 | 브랜드평판지수 | |
| 0 | 반하나 | 방탄소년단 | 빅히트 | 남자 | 1995-10-13 | 173.6 | A | 10523260 |
| 1 | 반하나 | 빅뱅 | YG | 남자 | 1988-08-18 | 177 | A | 9916947 |
| 2 | 반하나 | NaN | 커넥트 | 남자 | 1996-12-10 | 180 | A | 8273745 |
| 3 | 반하나 | 방탄소년단 | 빅히트 | 남자 | 1995-12-30 | 178 | AB | 8073501 |
| 4 | 반하나 | 마마무 | RBW | 여자 | 1995-07-23 | 162.1 | A | 7650928 |
df.head()
| 이름 | 그룹 | 소속사 | 성별 | 생년월일 | 키 | 혈액형 | 브랜드평판지수 | |
| 0 | 지민 | 방탄소년단 | 빅히트 | 남자 | 1995-10-13 | 173.6 | A | 10523260 |
| 1 | 지드래곤 | 빅뱅 | YG | 남자 | 1988-08-18 | 177 | A | 9916947 |
| 2 | 강다니엘 | NaN | 커넥트 | 남자 | 1996-12-10 | 180 | A | 8273745 |
| 3 | 뷔 | 방탄소년단 | 빅히트 | 남자 | 1995-12-30 | 178 | AB | 8073501 |
| 4 | 화사 | 마마무 | RBW | 여자 | 1995-07-23 | 162.1 | A | 7650928 |
10. 행, 열 추가 및 삭제하기
10-1. 행추가
- dict 형태의 데이터를 만들어주고, append() 함수를 사용하여 데이터를 추가
- 반드시 ignore_index = True 옵션을 추가해야 에러가 나지 않음
df.append({'이름':'김사과', '그룹':'애플', '소속사':'apple', '성별':'여자', '생년월일':'2000-01-01',
'키':160, '혈액형':'A', '브랜드평판지수':987654321}, ignore_index = True)
<ipython-input-92a93c25bea859>:1: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
df.append({'이름':'김사과', '그룹':'애플', '소속사':'apple', '성별':'여자', '생년월일':'2000-01-01',
| 이름 | 그룹 | 소속사 | 성별 | 생년월일 | 키 | 혈액형 | 브랜드평판지수 | |
| 0 | 지민 | 방탄소년단 | 빅히트 | 남자 | 1995-10-13 | 173.6 | A | 10523260 |
| 1 | 지드래곤 | 빅뱅 | YG | 남자 | 1988-08-18 | 177 | A | 9916947 |
| 2 | 강다니엘 | NaN | 커넥트 | 남자 | 1996-12-10 | 180 | A | 8273745 |
| 3 | 뷔 | 방탄소년단 | 빅히트 | 남자 | 1995-12-30 | 178 | AB | 8073501 |
| 4 | 화사 | 마마무 | RBW | 여자 | 1995-07-23 | 162.1 | A | 7650928 |
| 5 | 정국 | 방탄소년단 | 빅히트 | 남자 | 1997-09-01 | 178 | A | 5208335 |
| 6 | 민현 | 뉴이스트 | 플레디스 | 남자 | 1995-08-09 | 182.3 | O | 4989792 |
| 7 | 소연 | 아이들 | 큐브 | 여자 | 1998-08-26 | NaN | B | 4668615 |
| 8 | 진 | 방탄소년단 | 빅히트 | 남자 | 1992-12-04 | 179.2 | O | 4570308 |
| 9 | 하성운 | 핫샷 | 스타크루이엔티 | 남자 | 1994-03-22 | 167.1 | A | 4036489 |
| 10 | 태연 | 소녀시대 | SM | 여자 | 1989-03-09 | NaN | A | 3918661 |
| 11 | 차은우 | 아스트로 | 판타지오 | 남자 | 1997-03-30 | 183 | B | 3506027 |
| 12 | 백호 | 뉴이스트 | 플레디스 | 남자 | 1995-07-21 | 175 | AB | 3301654 |
| 13 | JR | 뉴이스트 | 플레디스 | 남자 | 1995-06-08 | 176 | O | 3274137 |
| 14 | 슈가 | 방탄소년단 | 빅히트 | 남자 | 1993-03-09 | 174 | O | 2925442 |
| 15 |
김사과 | 애플 | apple | 여자 | 2000-01-01 | 160 | A | 987654321 |
df.tail()
| 10 | 태연 | 소녀시대 | SM | 여자 | 1989-03-09 | NaN | A | 3918661 |
| 11 | 차은우 | 아스트로 | 판타지오 | 남자 | 1997-03-30 | 183 | B | 3506027 |
| 12 | 백호 | 뉴이스트 | 플레디스 | 남자 | 1995-07-21 | 175 | AB | 3301654 |
| 13 | JR | 뉴이스트 | 플레디스 | 남자 | 1995-06-08 | 176 | O | 3274137 |
| 14 | 슈가 | 방탄소년단 | 빅히트 | 남자 | 1993-03-09 | 174 | O | 2925442 |
df = df.append({'이름':'김사과', '그룹':'애플', '소속사':'apple', '성별':'여자', '생년월일':'2000-01-01',
'키':160, '혈액형':'A', '브랜드평판지수':987654321}, ignore_index = True)
df.tail()
| 11 | 차은우 | 아스트로 | 판타지오 | 남자 | 1997-03-30 | 183 | B | 3506027 |
| 12 | 백호 | 뉴이스트 | 플레디스 | 남자 | 1995-07-21 | 175 | AB | 3301654 |
| 13 | JR | 뉴이스트 | 플레디스 | 남자 | 1995-06-08 | 176 | O | 3274137 |
| 14 | 슈가 | 방탄소년단 | 빅히트 | 남자 | 1993-03-09 | 174 | O | 2925442 |
| 15 |
김사과 | 애플 | apple | 여자 | 2000-01-01 | 160 | A | 987654321 |
10-2. 열 추가
df['국적'] = '대한민국' # 파생변수
df.head()
| 이름 | 그룹 | 소속사 | 성별 | 생년월일 | 키 | 혈액형 | 브랜드평판지수 | 국적 |
|
| 0 | 지민 | 방탄소년단 | 빅히트 | 남자 | 1995-10-13 | 173.6 | A | 10523260 | 대한민국 |
| 1 | 지드래곤 | 빅뱅 | YG | 남자 | 1988-08-18 | 177 | A | 9916947 | 대한민국 |
| 2 | 강다니엘 | NaN | 커넥트 | 남자 | 1996-12-10 | 180 | A | 8273745 | 대한민국 |
| 3 | 뷔 | 방탄소년단 | 빅히트 | 남자 | 1995-12-30 | 178 | AB | 8073501 | 대한민국 |
| 4 | 화사 | 마마무 | RBW | 여자 | 1995-07-23 | 162.1 | A | 7650928 | 대한민국 |
df.tail()
| 이름 | 그룹 | 소속사 | 성별 | 생년월일 | 키 | 혈액형 | 브랜드평판지수 | 국적 | |
| 11 | 차은우 | 아스트로 | 판타지오 | 남자 | 1997-03-30 | 183 | B | 3506027 | 대한민국 |
| 12 | 백호 | 뉴이스트 | 플레디스 | 남자 | 1995-07-21 | 175 | AB | 3301654 | 대한민국 |
| 13 | JR | 뉴이스트 | 플레디스 | 남자 | 1995-06-08 | 176 | O | 3274137 | 대한민국 |
| 14 | 슈가 | 방탄소년단 | 빅히트 | 남자 | 1993-03-09 | 174 | O | 2925442 | 대한민국 |
| 15 |
김사과 | 애플 | apple | 여자 | 2000-01-01 | 160 | A | 987654321 | 대한민국 |
df.loc[df['이름'] == '김사과', '국적'] = '미국'
df.tail()
| 이름 | 그룹 | 소속사 | 성별 | 생년월일 | 키 | 혈액형 | 브랜드평판지수 | 국적 | |
| 11 | 차은우 | 아스트로 | 판타지오 | 남자 | 1997-03-30 | 183 | B | 3506027 | 대한민국 |
| 12 | 백호 | 뉴이스트 | 플레디스 | 남자 | 1995-07-21 | 175 | AB | 3301654 | 대한민국 |
| 13 | JR | 뉴이스트 | 플레디스 | 남자 | 1995-06-08 | 176 | O | 3274137 | 대한민국 |
| 14 | 슈가 | 방탄소년단 | 빅히트 | 남자 | 1993-03-09 | 174 | O | 2925442 | 대한민국 |
| 15 |
김사과 | 애플 | apple | 여자 | 2000-01-01 | 160 | A | 987654321 | 미국 |
11. 통계값 다루기
df['키'].sum()
> 2445.3
df['키'].count() # Null값 빠짐
> 14
df['키'].mean()
> 174.66428571428574
df['키'].max()
> 183.0
✔️ 분산 : 데이터가 평균으로부터 얼마나 떨어져 있는지 정도
(데이터 - 평균) **2 을 모두 더한 값 / 데이터 개수
✔️ 표준편차 : 분산에 루트 씌운 값
import numpy as np
data = np.array([1,3,5,7,9])
✔️분산
print(((1-5)**2 + (3-5)**2 + (5-5)**2 + (7-5)**2 + (9-5)**2) / 5)
data.var()
> 8.0
✔️ 표준편차
print(np.sqrt(((1-5)**2 + (3-5)**2 + (5-5)**2 + (7-5)**2 + (9-5) **2) / 5))
data.std()
> 2.8284271247461903
12. 그룹으로 묶기
- groupby() : 데이터 그룹으로 묶어 분석할 때 사용
df.groupby('소속사')
> <pandas.core.groupby.generic.DataFrameGroupBy object at 0x7ff282b6c460>
df.groupby('소속사').count()
| 이름 | 그룹 | 성별 | 생년월일 | 키 | 혈액형 | 브랜드평판지수 | 국적 |
|
| 소속사 | ||||||||
| RBW | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| SM | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
| YG | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| apple | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 빅히트 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
| 스타크루이엔티 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 커넥트 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 큐브 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
| 판타지오 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 플레디스 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
df.groupby('그룹').mean()
| 키 | 브랜드평판지수 | |
| 그룹 | ||
| 뉴이스트 | 177.766667 | 3.855194e+06 |
| 마마무 | 162.100000 | 7.650928e+06 |
| 방탄소년단 | 176.560000 | 6.260169e+06 |
| 빅뱅 | 177.000000 | 9.916947e+06 |
| 소녀시대 | NaN | 3.918661e+06 |
| 아스트로 | 183.000000 | 3.506027e+06 |
| 아이들 | NaN | 4.668615e+06 |
| 애플 | 160.000000 | 9.876543e+08 |
| 핫샷 | 167.100000 | 4.036489e+06 |
df.groupby('그룹').sum()
| 키 | 브랜드평판지수 | |
| 그룹 | ||
| 뉴이스트 | 533.3 | 1565583 |
| 마마무 | 162.1 | 7650928 |
| 방탄소년단 | 882.8 | 31300846 |
| 빅뱅 | 177.0 | 9916947 |
| 소녀시대 | 0.0 | 3918661 |
| 아스트로 | 183.0 | 3506027 |
| 아이들 | 0.0 | 4668615 |
| 애플 | 160.0 | 987654321 |
| 핫샷 | 167.1 | 4036489 |
df.groupby('성별').mean()
| 키 | 브랜드평판지수 | |
| 성별 | ||
| 남자 | 176.933333 | 5.716636e+06 |
| 여자 | 161.050000 | 2.509731e+08 |
☑️ 혈액형별로 그룹을 맺어 키의 평균값 확인
df.groupby('혈액형')['키'].mean()
혈액형
A 171.114286
AB 176.500000
B 183.000000
O 177.875000
Name: 키, dtype: float64
☑️ 혈액형별로 그룹을 맺고, 성별로 또 그룹을 나눈 후 키의 평균값 확인
df.groupby(['혈액형', '성별'])['키'].mean()
혈액형 성별
A 남자 175.140
여자 161.050
AB 남자 176.500
B 남자 183.000
여자 NaN
O 남자 177.875
Name: 키, dtype: float64
13. 결측값 채우기
df['키']
0 173.6
1 177.0
2 180.0
3 178.0
4 162.1
5 178.0
6 182.3
7 NaN
8 179.2
9 167.1
10 NaN
11 183.0
12 175.0
13 176.0
14 174.0
15 160.0
Name: 키, dtype: float64
✔️ fillna() : 결측값을 채워주는 함수
df['키'].fillna(-1)
0 173.6
1 177.0
2 180.0
3 178.0
4 162.1
5 178.0
6 182.3
7 -1.0
8 179.2
9 167.1
10 -1.0
11 183.0
12 175.0
13 176.0
14 174.0
15 160.0
Name: 키, dtype: float64
df2 = df.copy()
df2.head()
# 두 가지 방법
df2['키'] = df2['키'].fillna(-1)
df2['키'].fillna(-1, inplace = True)
df2
| 이름 | 그룹 | 소속사 | 성별 | 생년월일 | 키 | 혈액형 | 브랜드평판지수 | 국적 | |
| 0 | 지민 | 방탄소년단 | 빅히트 | 남자 | 1995-10-13 | 173.6 | A | 10523260 | 대한민국 |
| 1 | 지드래곤 | 빅뱅 | YG | 남자 | 1988-08-18 | 177 | A | 9916947 | 대한민국 |
| 2 | 강다니엘 | NaN | 커넥트 | 남자 | 1996-12-10 | 180 | A | 8273745 | 대한민국 |
| 3 | 뷔 | 방탄소년단 | 빅히트 | 남자 | 1995-12-30 | 178 | AB | 8073501 | 대한민국 |
| 4 | 화사 | 마마무 | RBW | 여자 | 1995-07-23 | 162.1 | A | 7650928 | 대한민국 |
| 5 | 정국 | 방탄소년단 | 빅히트 | 남자 | 1997-09-01 | 178 | A | 5208335 | 대한민국 |
| 6 | 민현 | 뉴이스트 | 플레디스 | 남자 | 1995-08-09 | 182.3 | O | 4989792 | 대한민국 |
| 7 | 소연 | 아이들 | 큐브 | 여자 | 1998-08-26 | -1 | B | 4668615 | 대한민국 |
| 8 | 진 | 방탄소년단 | 빅히트 | 남자 | 1992-12-04 | 179.2 | O | 4570308 | 대한민국 |
| 9 | 하성운 | 핫샷 | 스타크루이엔티 | 남자 | 1994-03-22 | 167.1 | A | 4036489 | 대한민국 |
| 10 | 태연 | 소녀시대 | SM | 여자 | 1989-03-09 | -1 | A | 3918661 | 대한민국 |
| 11 | 차은우 | 아스트로 | 판타지오 | 남자 | 1997-03-30 | 183 | B | 3506027 | 대한민국 |
| 12 | 백호 | 뉴이스트 | 플레디스 | 남자 | 1995-07-21 | 175 | AB | 3301654 | 대한민국 |
| 13 | JR | 뉴이스트 | 플레디스 | 남자 | 1995-06-08 | 176 | O | 3274137 | 대한민국 |
| 14 | 슈가 | 방탄소년단 | 빅히트 | 남자 | 1993-03-09 | 174 | O | 2925442 | 대한민국 |
| 15 | 김사과 | 애플 | apple | 여자 | 2000-01-01 | 160 | A | 987654321 | 미국 |
height = df2['키'].mean()
height
> 152.70625
✔️ 결측값이 있는 행을 제거
결측값이 한개라도 있는 경우 행을 삭제 df.dropna(axis = 0, how = 'any)
df.dropna()
| 이름 | 그룹 | 소속사 | 성별 | 생년월일 | 키 | 혈액형 | 브랜드평판지수 | 국적 | |
| 0 | 지민 | 방탄소년단 | 빅히트 | 남자 | 1995-10-13 | 173.6 | A | 10523260 | 대한민국 |
| 1 | 지드래곤 | 빅뱅 | YG | 남자 | 1988-08-18 | 177 | A | 9916947 | 대한민국 |
| 2 | 강다니엘 | NaN | 커넥트 | 남자 | 1996-12-10 | 180 | A | 8273745 | 대한민국 |
| 3 | 뷔 | 방탄소년단 | 빅히트 | 남자 | 1995-12-30 | 178 | AB | 8073501 | 대한민국 |
| 4 | 화사 | 마마무 | RBW | 여자 | 1995-07-23 | 162.1 | A | 7650928 | 대한민국 |
| 5 | 정국 | 방탄소년단 | 빅히트 | 남자 | 1997-09-01 | 178 | A | 5208335 | 대한민국 |
| 6 | 민현 | 뉴이스트 | 플레디스 | 남자 | 1995-08-09 | 182.3 | O | 4989792 | 대한민국 |
| 8 | 진 | 방탄소년단 | 빅히트 | 남자 | 1992-12-04 | 179.2 | O | 4570308 | 대한민국 |
| 9 | 하성운 | 핫샷 | 스타크루이엔티 | 남자 | 1994-03-22 | 167.1 | A | 4036489 | 대한민국 |
| 11 | 차은우 | 아스트로 | 판타지오 | 남자 | 1997-03-30 | 183 | B | 3506027 | 대한민국 |
| 12 | 백호 | 뉴이스트 | 플레디스 | 남자 | 1995-07-21 | 175 | AB | 3301654 | 대한민국 |
| 13 | JR | 뉴이스트 | 플레디스 | 남자 | 1995-06-08 | 176 | O | 3274137 | 대한민국 |
| 14 | 슈가 | 방탄소년단 | 빅히트 | 남자 | 1993-03-09 | 174 | O | 2925442 | 대한민국 |
| 15 | 김사과 | 애플 | apple | 여자 | 2000-01-01 | 160 | A | 987654321 | 미국 |
✔️ 결측값이 있는 열을 제거
df.dropna(axis = 1)
| 이름 | 소속사 | 성별 | 생년월일 | 혈액형 | 브랜드평판지수 | 국적 | |
| 0 | 지민 | 빅히트 | 남자 | 1995-10-13 | A | 10523260 | 대한민국 |
| 1 | 지드래곤 | YG | 남자 | 1988-08-18 | A | 9916947 | 대한민국 |
| 2 | 강다니엘 | 커넥트 | 남자 | 1996-12-10 | A | 8273745 | 대한민국 |
| 3 | 뷔 | 빅히트 | 남자 | 1995-12-30 | AB | 8073501 | 대한민국 |
| 4 | 화사 | RBW | 여자 | 1995-07-23 | A | 7650928 | 대한민국 |
| 5 | 정국 | 빅히트 | 남자 | 1997-09-01 | A | 5208335 | 대한민국 |
| 6 | 민현 | 플레디스 | 남자 | 1995-08-09 | O | 4989792 | 대한민국 |
| 7 | 소연 | 큐브 | 여자 | 1998-08-26 | B | 4668615 | 대한민국 |
| 8 | 진 | 빅히트 | 남자 | 1992-12-04 | O | 4570308 | 대한민국 |
| 9 | 하성운 | 스타크루이엔티 | 남자 | 1994-03-22 | A | 4036489 | 대한민국 |
| 10 | 태연 | SM | 여자 | 1989-03-09 | A | 3918661 | 대한민국 |
| 11 | 차은우 | 판타지오 | 남자 | 1997-03-30 | B | 3506027 | 대한민국 |
| 12 | 백호 | 플레디스 | 남자 | 1995-07-21 | AB | 3301654 | 대한민국 |
| 13 | JR | 플레디스 | 남자 | 1995-06-08 | O | 3274137 | 대한민국 |
| 14 | 슈가 | 빅히트 | 남자 | 1993-03-09 | O | 2925442 | 대한민국 |
| 15 | 김사과 | apple | 여자 | 2000-01-01 | A | 987654321 | 미국 |
df.iloc[15] = np.nan # nan삽입
df.tail()
| 11 | 차은우 | 판타지오 | 남자 | 1997-03-30 | B | 3506027 | 대한민국 |
| 12 | 백호 | 플레디스 | 남자 | 1995-07-21 | AB | 3301654 | 대한민국 |
| 13 | JR | 플레디스 | 남자 | 1995-06-08 | O | 3274137 | 대한민국 |
| 14 | 슈가 | 빅히트 | 남자 | 1993-03-09 | O | 2925442 | 대한민국 |
| 15 | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
✔️ 행의 데이터가 모두 NaN인 경우만 삭제
df.dropna(axis = 0, how = 'all', inplace = True)
df
| 이름 | 그룹 | 소속사 | 성별 | 생년월일 | 키 | 혈액형 | 브랜드평판지수 | 국적 | |
| 0 | 지민 | 방탄소년단 | 빅히트 | 남자 | 1995-10-13 | 173.6 | A | 10523260 | 대한민국 |
| 1 | 지드래곤 | 빅뱅 | YG | 남자 | 1988-08-18 | 177 | A | 9916947 | 대한민국 |
| 2 | 강다니엘 | NaN | 커넥트 | 남자 | 1996-12-10 | 180 | A | 8273745 | 대한민국 |
| 3 | 뷔 | 방탄소년단 | 빅히트 | 남자 | 1995-12-30 | 178 | AB | 8073501 | 대한민국 |
| 4 | 화사 | 마마무 | RBW | 여자 | 1995-07-23 | 162.1 | A | 7650928 | 대한민국 |
| 5 | 정국 | 방탄소년단 | 빅히트 | 남자 | 1997-09-01 | 178 | A | 5208335 | 대한민국 |
| 6 | 민현 | 뉴이스트 | 플레디스 | 남자 | 1995-08-09 | 182.3 | O | 4989792 | 대한민국 |
| 7 | 소연 | 아이들 | 큐브 | 여자 | 1998-08-26 | NaN | B | 4668615 | 대한민국 |
| 8 | 진 | 방탄소년단 | 빅히트 | 남자 | 1992-12-04 | 179.2 | O | 4570308 | 대한민국 |
| 9 | 하성운 | 핫샷 | 스타크루이엔티 | 남자 | 1994-03-22 | 167.1 | A | 4036489 | 대한민국 |
| 10 | 태연 | 소녀시대 | SM | 여자 | 1989-03-09 | NaN | A | 3918661 | 대한민국 |
| 11 | 차은우 | 아스트로 | 판타지오 | 남자 | 1997-03-30 | 183 | B | 3506027 | 대한민국 |
| 12 | 백호 | 뉴이스트 | 플레디스 | 남자 | 1995-07-21 | 175 | AB | 3301654 | 대한민국 |
| 13 | JR | 뉴이스트 | 플레디스 | 남자 | 1995-06-08 | 176 | O | 3274137 | 대한민국 |
| 14 | 슈가 | 방탄소년단 | 빅히트 | 남자 | 1993-03-09 | 174 | O | 2925442 | 대한민국 |
'AI인공지능 by Python > 3. 데이터 분석' 카테고리의 다른 글
| [ AI 인공지능 ] ② 판다스(Pandas) _ 1 (0) | 2023.03.21 |
|---|---|
| [ AI 인공지능 ] ① 넘파이(Numpy) (0) | 2023.03.20 |