: array 목록이 뜬다
: nan 항목이 있는지 확인
: null이 아닌 데이터만 모은다.
df = pd.read_excel(~~경로/파일명)
pd.pivot_table(df, index=["Name"])
pd.pivot_table(df, index=["Name", "Rep", "Manager"])
pd.pivot_table(df, index=["Manager", "Rep"], values=["Price"])
# 1
pd.pivot_table(df, index=["Manager", "Rep"], values=["Price"], aggfunc=np.sum)
# 2
pd.pivot_table(df, index=["Manager", "Rep"], values=["Price"], aggfunc=[np.mean, len])
pd.pivot_table(
df,
index=["Manager", "Rep"],
values=["Price"],
columns=["Product"],
aggfunc=np.sum,
fill_value=0,
)
crime_station["sum", "건수", "강도", "검거"]
crime_station.columns = crime_station.columns.droplevel([0, 1])
: 모듈 개발자가 명시해놓은 dependency(의존성)을 참조해서 관련 모듈을 따라 설치할 수 있다.
이 부분에서 문제가 될 수 있는 것이, 어떤 모듈이든 Python 버전이 바뀐다던지 하게 되면 그에 대한 dependency가 꺠질 수 있다. 여기서 오류가 나게되고, 이런 일은 빈번하게 발생한다. 그래서 보통 공동 작업을 하게되면 버전을 정해놓고 작업하게 된다.
jupyter notebook에서는 '!'를 쓰면 os 레벨의 명령을 쓸 수 있다.
!pip list
'!' 명령을 선호하지 않는 경우: jupyter notebook을 통하지 않고 바로 코드를 export 시켜서 사용하려고 할 때, !명령은 에러가 난다.
get_ipython().system("pip list")
: anaconda에서 배포한 모듈 관리자. pip를 사용하면 conda 환경에서 dependency 관리가 정확하지 않을 수 있다. anaconda에서는 가급적 conda 명령으로 모듈을 관리하는 것이 좋다.
: pip 명령과 다른 점은 채널의 존재이다. 예를 들어, 맥 M1 유저들은 암 계열의 모듈을 설치해야 한다. 그럴 때는 그런 모듈들만 모여있는 채널을 conda에서 별도로 운영한다. 그 채널의 이름을 별도로 지정해 주는 것.
: 내가 설치할 모듈을 conda 명령으로 설치할 것이라면 채널을 어떻게 하면 좋은가? -> 검색을 통해 설치할 필요가 있다.
그러나 모든 모듈이 conda로 설치되는 것은 아니다.
: google의 api 공부 가능
모든 모듈이 깔끔하게 설치되지는 않는다. Python 세계의 모듈 간 dependency 문제와 개인PC 환경의 indivisual difference로 인한 문제가 있다. MS Visual Studio와 같은 깔끔함이 없어 불편할 수 있지만, 이렇게 강력한 도구를 무료로 사용하는 댓가라고 생각해야 한다.
import googlemaps
gmaps_key = "발급받은 Geocoding API key값 입력"
gmaps = googlemaps.Client(key=gmaps_key)
gmaps.geocode("서울영등포경찰서", language="ko")
tmp = gmaps.geocode("서울영등포경찰서", language="ko")
print(tmp[0].get("geometry")["location"]["lat"])
print(tmp[0].get("geometry")["location"]["lng"])
print(tmp[0].get("formatted_address"))
tmp.split()[2]
lat = ~
count = 0
for idx, rows in crime_station_iterrows():
station_name = "서울" + str(idx) + "경찰서"
tmp = gmaps.geocode(station_name, language="ko")
tmp[0].get("formatted_address)
tmp_gu = tmp[0].get("formatted_address")
lat = tmp[0].get("geometry")["location"]["lat"]
lng = tmp[0].get("geometry")["location"]["lng"]
crime_station_loc[idx, "lat"] = lat
crime_station_loc[idx, "lng"] = lng
crime_station_loc[idx, "구별"] = tmp_gu.split()[2]
print(count)
count = count + 1
import matplotlib.pyplot as plt
import seaborn as sns
# %metplotlib inline
get_ipython().run_line_magic("matplotlib", "inline")
# 0부터 14까지 100개의 데이터를 만들어라
x = np.linspace(0, 14, 100)
tips = sns.load_dataset("tips")
tips.head()
conda install -c conda-forge folium
기본적으로 크롬에서 동작이 가장 좋음
사용 편의성이나 활발한 기능 개선 등으로 만족도가 높은펴
근본적으로 그냥 위도, 경도를 알려주며 된다
지도를 html로 저장 가능
circle()