3차 sprint
인턴 마지막 주차에 시작된 3차 sprint
사실상 개발을 할 수 있는 시간은 약 1.5일
pandas
-> Indexgroup_by
, count
-> bool
, annotate(Count())
, count()
-> listpandas
-> dataframe
또는 series
로 변환series
를 합친다pandas
-> concat
.to_dict(orient='records')
날짜 리스트를 구하고, comprehension으로 날짜를 하나씩 꺼내어 해당하는 db의 table의 날짜 컬럼에서 꺼낸 날짜의 모든 데이터를 group_by(annotate) 해서 count를 하고 0 이상이면 True를 반환하는 것이 첫 번째, 그렇게 다섯 번 돌고 합치면 되는 것
count
꼭 굳이 그렇게 많은 데이터(일자별로 2,000개 이상임)를 그룹해서 갯수를 센 다음에 0인지 아닌지 판단해야 하나? 예를 들어 count
를 쓰지 않고 존재 여부만 확인 할 수 있는? 바로 bool을 쓸 수 있다거나 뭐 그런 방법이 없을까 했었는데, 꼭 count
를 해야 함
Json
별짓 다해도 list에 담긴 dictionary 형태로 반환이 안되었는데, 해결책은 index
에 있었다.
dataframe
과 merge
로 아무리 시도를 해도 index
기준으로 merge
까지는 했으나 .index.rename
과 .reset_index()
개념이 확실 하지 않아서 "이걸 해봐야 되나?"하는 생각을 했음에도 적용하지 못했고, 결국 선배님이 단 두 줄로 해결해주신.
-> Javascript의 이해가 필요하다고 생각했던 순간 & 내 부족함이 front를 고생하게 한다는 마음에 정말 오랜시간동안 인턴이 끝나고도 정말 괴로웠다(아니 지금 대낮에 술도 안마셨는데 이 때 생각만 하면 눈물날일?????
). 이걸 해결하지 못하면 그대로 drop이었기 때문에 너무 미안했다.
2-1. .to_dict() + orient='records' + safe=False
result_df.index = result_df.index.rename('date')
#날짜리스트(=index)에 이름만 주면 될 일
result_df = result_df.reset_index()
#index를 reset 하면 될 일
result_dict = result_df.to_dict(orient='records')
return JsonResponse(result_dict, safe=False)
수요일 새벽 드디어 PR을 올리고, scrum 미팅 때 merge,,,
.env
)concat
, merge
vs dataframe
, series
)