python pandas dataframe 조건에 맞게 합치고 특정 값 계산하는 방법 알려주세요.

조회수 1155회
with open("test.json", 'r', encoding="UTF8") as file:
    lines = file.readlines()
    json_data = [json.loads(ln.replace("\n", ""))['data'] for ln in lines]
    df = pd.DataFrame(json_data)

위에서 df의 구조는 다음 사진과 같습니다. 이미지

위 형태의 dataframe에서 itemid 컬럼의 value들이 각 각 몇 개의 로우가 있는지 카운트 하기 위해

item_count = df['itemid'].value_counts(normalize=False)

해당 코드로 출력하니까 아래 사진과 같이 나왔습니다. 이미지

srv_id, itemid, clock, value 정보가 존재하면서 itemid들의 중복없이 value의 min, max, sum, avg(평균), num(itemid)가 반복된 회수값이 존재하는 데이터 테이블을 만들고 싶습니다.

srv_id, itemid, clock, min_value, max_value, sum_value, age_value, num 

이렇게 8개의 컬럼이 존재하는 데이터 테이블을 새로 만들고 싶습니다.

  • itemid 하나에 대해서 다른 시간에 측정한 값들이 여럿일 텐데요. 즉, clock 값이 여러개인데, 어떤 clock 값을 쓸 건가요? nowp 2020.6.17 15:39
  • itemid 하나에는 반드시 하나의 srv_id 만 갖나요? nowp 2020.6.17 15:40
  • 한 번 스크립트가 실행 될 때 모든 itemid 의 clock값은 동일하며 itemid에 srv_id는 1,2,3,4 중에 랜던함게 들어가 있습니다. itemid가 1234 일 때 srv_id가 1,4인 row가 존재할 수 있습니다. 김재민 2020.6.18 10:14

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)