본문 바로가기

CS/python17

python f-string 문자열 포맷팅 시 숫자가 너무 길 때 f-string으로 문자열 포맷팅할 때, 실수가 너무 길게 출력되는 경우가 있다. f'number: {random_data}' >>> 'number: 338.39743206927443' 빌트인 함수인 round를 사용할 수도 있지만, Format String Syntax를 활용하면 깔끔하게 끊어줄 수 있다. 바로 {} 안의 변수 뒤에 콜론과 f를 사용하는 방법이다. 아래 예제의 :.2f는 소숫점 셋째 자리에서 반올림하여 둘째 자리까지만 보여주는 방법이다. 2를 다른 숫자로 바꿔 깔끔하게 출력해보자 f'number: {random_data:.2f}' >>> 'number: 338.40' . 앞에 10, 100 등을 넣어서 패딩을 주는 방법도 있는데, 궁금하면 stackoverflow를 참고해보자. 2024. 1. 4.
파이썬 float 문자열 포맷팅 할 때마다 까먹어서..ㅠㅠ {:.2f}.format(num) 출처: https://medium.com/@coucoucamille/float-formatting-in-python-ccb023b86417 2023. 9. 13.
python graphviz 설치 오류 오류 메시지 ExecutableNotFound: failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH 해결 방법 os 별로 공식 홈페이지에서 권장하는 방법으로 graphviz를 설치한다. 나의 경우 OSX에 설치하므로 homebrew 를 활용하여 설치함 $ brew install graphviz 그러면 오류가 안날 것! 2023. 7. 24.
scipy.stats.skew 가 nan을 리턴할 때 목차 문제 상황 skewness를 측정하려고 scipy.stats.skew를 사용하였는데, 결과로 nan이 리턴되었다. from scipy.stats import skew skew(df[col]) nan 해결 방법 문제 확인 아래 코드를 통해, skewness를 측정하려했던 컬럼에 결측값(np.nan)이 있었음 df[col].isna().sum() 179 scipy 공식 도큐먼트를 통해 skew 메서드에 결측치 처리 정책 옵션을 줄 수 있는 것을 확인함. 디폴트 옵션으로 nan_policy='propagate'가 설정되어 있어 na이 출력됨을 확인함. propagate: nan이 있으면 nan을 출력함 omit: (사전적 의미는 생략) nan이 있으면, 무시하고 값이 있는 데이터에 대해서만 skewnes.. 2023. 6. 21.
[pandas] 모두 nan인 컬럼 제거하는 한 줄 코드 df.drop(columns=df.columns[df.isna().all()], inplace=True) inplace를 True로 설정하여, 따로 변수에 덮어씌우지 않아도 적용됨 2023. 6. 19.
[pandas] datetime64에 하루 더하기 (pandas DateOffsets) 아래와 같은 데이터 프레임이 있다 created_dt라는 컬럼은 datetime64[ns] 형식을 가진다. 저 날짜를 하루씩 뒤로 미루고 싶다면? df.created_dt + 1 --------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[29], line 1 ----> 1 df['created_dt'] + 1 ... 그냥 integer 1을 더하면 오류가 난다. 아래와 같이 pd.tseries.offsets.DateOffset(days)를 활용하면 오류없이 1씩 더할 수 있다. df['created_dt'] = df['created_dt.. 2023. 5. 9.