320x100
이번 파트는 정말 최악이였다.
난이도가 최악이라기 보다는
내 자신의 태도가 최악이였다.
그간, 수술이니 뭐니 쓰잘대기 없는 것들을 너무 많이 하느라.
이 핑계, 저 핑계대면서 집중을 못했다.
그 결과가 이거다.
한 챕터 진행하는데, 순수하게 2일이상을 소비하고,
말이 2일 이상이지, 그러다보니 집중력도 흐트러 져서 아무것도 남지 않게 되었다.
두번다시는 이러지 말자.
정말 열이 안받을 수가 없었다.
대 부분의 문제가 모르는 것이였다.
심지어 대부분의 문제에 대한 해석이 되질않았다.
번역기를 써도 안될 수준이라면 말 다했지.
이것이 지금의 내 상태다.
여기 챕터가 난이도가 어려운건 분명 아니였다.
그럼에도 몰랐다.
정신차리자.
# 기본
#run the cell
import pandas as pd
#run the cell
cars = pd.read_csv("cars_clean.csv")
#run the cell
cars_jap = pd.read_csv("cars_jap.csv")
# 문제1 Insert the column origin to cars_jap at the most appropriate position! Fill in the gaps!
# 이 부분은 origin이라는 새로운 컬럼에 뭘 넣으라는건지 당췌 이해가 안갔다.
# 내 코드
# cars_jap.origin(---, ---, "japan")
# 답안 코드
# 7번 컬럼의 자리에 / 'origin'이라는 이름의 컬럼을 넣어주고 / 'japan'이라는 값으로 채워넣어주라.
cars_jap.insert(7, 'origin', 'japan')
# 컬럼 추가
# 컬럼 값 추가
# 문제2 Overwrite the column labels in cars_jap and use the same column labels that we have in cars!
# 아것도 컬럼 라벨을 이용하라는 내용 같은데 당췌 이해가 안간다.
# cars의 컬럼 레이블과 같은 이름을 써라? 컬럼 이름을 cars의 컬럼 이름으로 덮어 쓰라는 건가?
cars_jap.shape
# (79, 9)
cars.shape
# (313, 9)
# cars_jap이나 cars모두 컬럼 값이 9개인건 동일하다. 덮어쓰는거 가능할 것같다.
# 근데 어떻게 덮어 쓰는건지 모르겠다.
# cars_jap.rename(columns = {})
# 뭐 이런걸 생각하기도 했었는데, 이건 컬럼 값 자체의 글씨를 따오는 것이기 때문에 의미가 없다고 보인다.
# 답안 코드
cars_jap.columns = cars.columns
# 여기까지 봤는데도 모르는게 수두룩 하구나..
# 흐름을 끊어먹으면서 공부하면 정말 이게 휘발성이 강해서 더 남질 않는것 같다.
# run the cell!
summer = pd.read_csv("summer.csv")
# run the cell!
dic = pd.read_csv("dictionary.csv")
# 문제3 Create the columns Country, Population and GDP per Capita in the summer DataFrame by using a Left Join with pd.merge().
# Save the merged Dataframe in the variable summer_new! Fill in the gaps!
# merge로 새로운 컬럼을 생성한다?
# 새로 생성하는 컬럼이 3개인데 이미 있는 값이다?
# 어디에 어떤 걸 넣어야 할지 기준을 못정하겠다.
# 답안으로 점철되어서 찾을 수 밖에 없는 한계에 열받는다.
# 그만큼 더 기억하고 또 기억하자.
# summer_new = pd.merge(---, ---, how = "left", left_on= ---, right_on = ---)
summer_new = pd.merge(summer, dic, how = 'left', left_on = 'Country', right_on = 'Code')
'''
Year City Sport Discipline Athlete Country_x Gender Event Medal Country_y Code Population GDP per Capita
0 1896 Athens Aquatics Swimming HAJOS, Alfred HUN Men 100M Freestyle Gold Hungary HUN 9844686.0 12363.543460
1 1896 Athens Aquatics Swimming HERSCHMANN, Otto AUT Men 100M Freestyle Silver Austria AUT 8611088.0 43774.985174
2 1896 Athens Aquatics Swimming DRIVAS, Dimitrios GRE Men 100M Freestyle For Sailors Bronze Greece GRE 10823732.0 18002.230578
3 1896 Athens Aquatics Swimming MALOKINIS, Ioannis GRE Men 100M Freestyle For Sailors Gold Greece GRE 10823732.0 18002.230578
4 1896 Athens Aquatics Swimming CHASAPIS, Spiridon GRE Men 100M Freestyle For Sailors Silver Greece GRE 10823732.0 18002.230578
... ... ... ... ... ... ... ... ... ... ... ... ... ...
31160 2012 London Wrestling Wrestling Freestyle JANIKOWSKI, Damian POL Men Wg 84 KG Bronze Poland POL 37999494.0 12554.547554
31161 2012 London Wrestling Wrestling Freestyle REZAEI, Ghasem Gholamreza IRI Men Wg 96 KG Gold Iran IRI 79109272.0 NaN
31162 2012 London Wrestling Wrestling Freestyle TOTROV, Rustam RUS Men Wg 96 KG Silver Russia RUS 144096812.0 9092.580536
31163 2012 London Wrestling Wrestling Freestyle ALEKSANYAN, Artur ARM Men Wg 96 KG Bronze Armenia ARM 3017712.0 3489.127690
31164 2012 London Wrestling Wrestling Freestyle LIDBERG, Jimmy SWE Men Wg 96 KG Bronze Sweden SWE 9798871.0 50579.673649
31165 rows × 13 columns
'''
# 문제4 Filter summer_new for the elements in the column Country_x, where the corresponding value in the column Code is missing!
# Count the frequency! Fill in the gaps!
# 와.. 열받네.. 뭐 다 까먹은것 같다.
# summer_new.loc[summer_new.Code.---, "Country_x"].---
# 답안 코드
summer_new.loc[summer_new.Code.isnull(), 'Country_x'].value_counts()
'''
URS 2049
GDR 825
ROU 640
FRG 490
YUG 435
TCH 329
EUA 260
EUN 223
ZZX 48
SRB 31
ANZ 29
RU1 17
MNE 14
TTO 10
BOH 7
BWI 5
SGP 4
IOP 3
Name: Country_x, dtype: int64
'''
#run the cell
ath_2008 = pd.read_csv("ath_2008.csv")
ath_2012 = pd.read_csv("ath_2012.csv")
ath_2008.set_index('Athlete', inplace = True)
ath_2012.set_index('Athlete', inplace = True)
# 문제5 Add both DataFrames with the most appropriate method! Save the resulting DataFrame in the variable add!
# 문제의 흐름을 정확히 파악 못하겠다.
# 그 만큼 명확히 알지를 못한다는 소리밖엔 되지 않는다.
# ath_2008.merge(ath_2012, how = 'outer', on = 'Athlete')
# 답안 코드
add = ath_2008.add(ath_2012, fill_value = 0)
# fill_value? 이게 뭘까
# 결측값을 0으로 대체해 줘라. 라는 의미같다.
# 결측값 대체
이번 챕터는 내 자신이 얼마나 나태한지, 얼마나 잘하는게 아직 없는 주제에 집중도 안하고 있는지 되돌아보는 시간이였다.
두번다시는 결코 이딴 태도로 공부하지 말자.
시간을 보냈다고해서, 진도를 나갔다고해서.
그것들이 나의 실력을 보증해주는 건 아니다.
그것들을 하는 과정에서 내가 어떤 태도로 임했고, 어떤것들을 쌓아올렸는지가 정말 중요하다.
그것들은 겉으로 절대 드러나지 않는다.
그러나, 어느 시점에 이르러서는 내가 표현하려고 안해도 겉으로 표출되게 될것이다.
나 자신을 속이지 마라
남들 다 속여도 나 자신은 나에게 속지 않는다.
300x250
'개발일지 > Pandas' 카테고리의 다른 글
pandas 틀린문제 9, groupby, unstack, nlargest (0) | 2022.08.12 |
---|---|
pandas 판다스 기초 19 groupby, relabeling, aggregation, transform, apply, stack (0) | 2022.08.12 |
pandas 판다스 기초 18 merge, join, fillna, drop (0) | 2022.08.08 |
pandas 판다스 틀린부분 복기 7 데이터 정리하기 (0) | 2022.08.01 |
매우중요 pandas 판다스 기초 17 결측값(NaN), 중복값(duplicated) 활용 (0) | 2022.07.29 |