Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
software_development:python_pandas [2022/08/04 05:44] – prgram | software_development:python_pandas [2025/07/07 14:12] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== python pandas ====== | ====== python pandas ====== | ||
{{INLINETOC}} | {{INLINETOC}} | ||
+ | |||
+ | === etc : list === | ||
+ | <code python> | ||
+ | set( [list] ) # unique value | ||
+ | [list].sort() # | ||
+ | [list1] + [list2] | ||
+ | </ | ||
===== shape of df ===== | ===== shape of df ===== | ||
Line 9: | Line 16: | ||
| | ||
| | ||
+ | </ | ||
+ | * string일 때는 aggfunc=' | ||
+ | * index에 NULL 있으면 안됨 | ||
+ | == fillna == | ||
+ | <code python> | ||
+ | df[[' | ||
</ | </ | ||
Line 14: | Line 27: | ||
<code python> | <code python> | ||
df.groupby([컬럼들]).agg({' | df.groupby([컬럼들]).agg({' | ||
+ | |||
+ | df.groupby([COLUMNS])[' | ||
df = df.assign(date=pd.to_numeric(df[' | df = df.assign(date=pd.to_numeric(df[' | ||
Line 47: | Line 62: | ||
df.columns = [' | df.columns = [' | ||
</ | </ | ||
+ | |||
+ | === order of columns === | ||
+ | <code python> | ||
+ | #1 | ||
+ | df = df.sort_index(axis=' | ||
+ | #2 | ||
+ | df.columns | ||
+ | col_order = [' | ||
+ | df = df.reindex(col_order, | ||
+ | </ | ||
+ | |||
=== map === | === map === | ||
Line 81: | Line 107: | ||
iloc: Select by position | iloc: Select by position | ||
loc: Select by label | loc: Select by label | ||
+ | | ||
+ | df.loc[:, | ||
+ | |||
+ | df[~( df[' | ||
+ | df.loc[~( df[' | ||
</ | </ | ||
Line 92: | Line 123: | ||
| | ||
=====I/O file===== | =====I/O file===== | ||
+ | |||
+ | === encoding_errors - ' | ||
+ | Encoding 제대로 했는데도 안되면.. | ||
+ | 공공데이터가 이런 경우가 많음. | ||
+ | |||
+ | Error tokenizing data. C error: EOF inside string starting at row 0 | 판다스 에러 | ||
+ | https:// | ||
+ | quoting=csv.QUOTE_NONE 파라미터 | ||
+ | |||
+ | <code python> | ||
+ | import chardet | ||
+ | with open(file, ' | ||
+ | result = chardet.detect(rawdata.read(100000)) | ||
+ | result | ||
+ | |||
+ | |||
+ | data = pd.read_csv( file, encoding=' | ||
+ | # on_bad_lines=' | ||
+ | # error_bad_lines=False | ||
+ | </ | ||
=== to_numberic === | === to_numberic === |