inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

4-1, 문제 3번, 2번 풀이 sum(),len()

해결된 질문

225

빅분기수강생

작성한 질문수 22

0

이렇게 풀어봤는데, 이렇게 해도 괜찮은가요?

 

그리고 문제 2번에서

print(sum(df["f3"] == "gold"))

대신

print(len(df["f3"] == "gold"))

으로 하면 안되는 이유가 잘 이해가 안되서 문의드립니다.

len()도 데이터 수 구하는 함수 아닌가요?

df["f3"] == "gold" 라는 조건을 만족하는 데이터의 수를 구하는데 사용할 수 있을 줄 알았는데, sum() 사용했을 때와 값이 다르게 나와서요. 이 상황에서 두 함수 간 정확히 어떤 차이가 있는지 궁금합니다.

 

좋은 강의 감사합니다~

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 1

0

퇴근후딴짓

sum()활용법

  1. df["f3"] == "gold"의 결과는 True와 False이다.

  2. True는 1이고 False는 0이다.

  3. sum()하게 되면 True의 개수와 같다.

len()활용법

  1. df["f3"] == "gold" 가 참인 데이터프레임이 필요함

  2. cond = (df["f3"] == "gold")

  3. len(df[cond])으로 사용가능하다.

  4. 한 줄로 다시 작성하면 len(df[(df["f3"] == "gold")이렇게 df로 한번 더 감싸줘야 한다.

활용방법에서 차이가 있습니다 🙂

0

빅분기수강생

답변 감사합니다~~

sum() 은 조건이 참인 것들을 합산하여 개수를 나타낼 수 있고,

len()은 기본적으론 단순히 데이터의 길이(인덱스의 개수)를 출력하는거라 len()으로 조건이 참인 것을 구하려면, 우선 어떤 조건이 참이 되는지에 대한 변수를 반드시 사전에 설정하고 그 변수를 대입할 때만 실행이 되는 것이라고 이해하면 되나요..??

 

그리고 2문제도 그림파일에 올린 저렇게 풀어도 괜찮은가요?

전 넘파이 안 불러오고

df["f3"] = df["f3"].fillna(0)

df["f3"] = df["f3"].replace("silver",1).replace("gold",2).replace("vip",3)

이렇게 작성했거든요

 

정수형 합 구하는건 메소드 .sum() 사용한

int(df["f3"].sum())

말고,

 

내장함수 sum() 를 쓴

int(sum(df["f3"]))

로 입력했는데, 둘다 가능한거 같은데, 확인차 글 남깁니다

0

퇴근후딴짓

네 큰 문제 없어 보입니다 🙂 작업형1은 정답이 있는 문제로 어떤 풀이과정이 되던 정답이 도출되면 됩니다 !!

작업형2 모의문제1 (30강)

0

18

1

수강 기간 연장 문의 드립니다.

0

21

1

수강 계획과 관련해 문의 드립니다.

0

19

1

작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?

0

45

2

작업형 1 -연습문제 4-6

0

33

2

작업형 1 유형 부분

0

40

2

작업형 1 (삭제예정, 구 버전)

0

50

2

수강기간 연장 문의드립니다.

0

35

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

36

3

수강기간 연장 문의드립니다.

0

38

1

인덱스 슬라이싱

0

35

2

질문 드립니다.

0

50

2

강의 내용 관련 질문드립니다~

0

46

2

수강 연장 문의

0

63

2

강의자료 일괄 다운로드

0

58

2

수강기간 연장 문의드립니다

0

47

2

list 문제 질문드립니다~

0

38

2

빅분기 실기 12회 재도전

0

62

2

강의 기간 연장 가능여부 검토 요청건

0

50

2

수강기간 연장 문의 드립니다

0

45

2

수강기간 연장 문의드립니다

0

52

2

질문이요

0

57

2

수강기간 연장 문의드립니다.

0

60

2

문제 3-2 질문드립니다

0

47

2