-
[python] 파이썬을 이용한 빅 데이터 실습 6- DataFrameLanguages/python 2021. 10. 30. 19:13반응형
실행결과는 복사 붙여넣기이므로 이상해도 양해부탁드립니다.
데이터프레임에 새로운 컬럼 추가하기
df4 = DataFrame({'Class': ['IoT','Network', 'Economy','Big Data', 'Cloud'], 'Year': [2018, 2017, 2018, 2018, 2019], 'Price': [100, 125, 132, 312, 250], 'Location': ['Korea','Korea', 'Korea', 'US','Korea']}, index=['C01','C02','C03', 'C04', 'C05']) df4
컬럼 추가하기 1
내가 추가하고자 하는 컬럼의 명을 지정해 준 후 데이터 값을 할당해준다.
limitStudent 컬럼(정원)을 추가하고, 값을 모두 40으로 저장df4['limitStudent'] = 40 df4
실행결과
Class Year Price Location limitStudent C01 IoT 2018 100 Korea 40 C02 Network 2017 125 Korea 40 C03 Economy 2018 132 Korea 40 C04 Big Data 2018 312 US 40 C05 Cloud 2019 250 Korea 40
컬럼 추가하기 2
numStudent 컬럼(수강학생수)을 추가하고, 값을 25,30,10,23,17로 저장주의할 점
새로운 컬럼을 추가할 경우
원본의 데이터프레임의 행(row)의 개수와 신규로 할당되는 값의 개수가 같아야 한다.[25, 30, 10, 13] 만 저장시 에러!
df4['numStudent'] = [25, 30, 10, 23, 17] df4
컬럼 추가하기 3 (기존 컬럼에 함수를 적용한 결과로 값을 할당하기)
priceLevel 컬럼을 추가하고,
Price가 200과 같거나 크면, High, 200보다 작으면 Low#함수 생성 def get_plevel(X): if X >= 200: return 'High' else: return 'Low'
apply() 함수 --> 함수를 적용하기 위한 함수
#df4.sum() 아래와 동일 #df4.apply('sum') 위와 동일 df4.apply(lambda X: X.sum())
실행결과
Class IoTNetworkEconomyBig DataCloud Year 10090 Price 919 Location KoreaKoreaKoreaUSKorea limitStudent 200 numStudent 105 dtype: object
df4['priceLevel'] = df4.apply(lambda X:get_plevel(X.Price), axis = 1) df4
실행결과
price값이 생성된 것을 알 수 있다.
Class Year Price Location limitStudent numStudent pricelevel priceLevel C01 IoT 2018 100 Korea 40 25 Low Low C02 Network 2017 125 Korea 40 30 Low Low C03 Economy 2018 132 Korea 40 10 Low Low C04 Big Data 2018 312 US 40 23 High High C05 Cloud 2019 250 Korea 40 17 High High
산술 연산
1차원 데이터와 값 간의 연산
sr = Series([3,5,7,9]) sr + 100
sr + 100 sr + 100 0 103 1 105 2 107 3 109 dtype: int64
컬럼 추가하기 4 (기존 컬럼을 이용하여 새 컬럼 추가하기)
income 컬럼을 추가하고, Price와 numStudent의 값을 곱한 값으로 할당df4['income'] = df4.Price * df4.numStudent df4
실행결과
Class Year Price Location limitStudent numStudent pricelevel priceLevel income rate C01 IoT 2018 100 Korea 40 25 Low Low 2500 62.5 C02 Network 2017 125 Korea 40 30 Low Low 3750 75.0 C03 Economy 2018 132 Korea 40 10 Low Low 1320 25.0 C04 Big Data 2018 312 US 40 23 High High 7176 57.5 C05 Cloud 2019 250 Korea 40 17 High High
실습. rate 컬럼을 추가하고, 충원율을 계산하여 할당.
충원율은 정원(limitStudent) 대비 수강학생수(numStudent) 비율df4['rate'] = df4.numStudent/df4.limitStudent*100 df4
실행결과
Class Year Price Location limitStudent numStudent pricelevel priceLevel income rate C01 IoT 2018 100 Korea 40 25 Low Low 2500 62.5 C02 Network 2017 125 Korea 40 30 Low Low 3750 75.0 C03 Economy 2018 132 Korea 40 10 Low Low 1320 25.0 C04 Big Data 2018 312 US 40 23 High High 7176 57.5 C05 Cloud 2019 250 Korea 40 17 High High 4250 42.5
불필요한 컬럼이나 데이터 삭제하기
drop()
첫번째 인자 : 삭제하고자 하는 인덱스면
두번째 인자 : axis(0 or 1)C05 강의 삭제
df4.drop('C05',0)
priceleve 컬럼 삭제
위에 C05 를 삭제 했지만 원본 데이터에는 함수가 결과가 반영되지 않는다df4.drop('pricelevel',1)
원본 변경을 하고 싶을 시
inplace=True 값을 넣으면 된다!
df4.drop('priceLevel', 1, inplace=True)
위와 동일 (원본 변경 시)
df4 = df4.drop('rate', 1) df4
반응형'Languages > python' 카테고리의 다른 글
[python] 파이썬을 이용한 빅 데이터 실습 9 - 데이터 통합 (0) 2021.11.01 [python] 파이썬을 이용한 빅 데이터 실습 7 - DataFrame , 계층색인 (0) 2021.11.01 [python] 파이썬을 이용한 빅 데이터 실습 5- DataFrame (0) 2021.10.30 [python] 파이썬을 이용한 빅 데이터 실습 4- DataFrame (0) 2021.10.30 [python] 파이썬을 이용한 빅데이터 실습 3 - DataFrame (0) 2021.09.12