くないらぼ

python でおかねをあならいず

pythonでよく使うオプションのメモ pandas / matplotlib / altair 編

evernoteにオレオレスニペットをまとめているんですが、量が果てしなく多くて、検索もちょっと手間なので、 レギュラーメンバーだけでもまとめておこうと思いました〜

matplotlib

決まり文句
import matplotlib.pylab as plt
%matplotlib inline
# or 
%matplotlib notebook 

# 日本語表示 豆腐対策
import matplotlib
from matplotlib.font_manager import FontProperties
font_path = '/usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf'
font_prop = FontProperties(fname=font_path)
matplotlib.rcParams['font.family'] = font_prop.get_name()
plot のせってい

さんこうURL https://matplotlib.org/users/customizing.html

# figsize 指定が面倒なのでまともな値に設定(初期値はいくらなんでも小さすぎるw)
plt.rcParams["figure.figsize"] = [18, 5]

plt.rcParams['xtick.labelsize'] = 12 # 横軸のフォントサイズ
plt.rcParams['ytick.labelsize'] = 12 # 縦軸のフォントサイズ

# matplotlib 2.x 以降でスタイルが好かないので1.x系に近づける設定たち
plt.rcParams['legend.frameon'] = False
plt.rcParams['axes.xmargin'] = 0.0 # 2.0 から余計なマージンが付いたのでキャンセル
plt.rcParams['axes.ymargin'] = 0.0 # 2.0 から余計なマージンが付いたのでキャンセル

# 1e2 1e-2 などの表記 ( scientific notation ) を抑制する: Falseなら抑制
plt.rcParams['axes.formatter.useoffset'] = False 

pandas

# 長い場合でも省略( A B ... Y Z  ってやつ) をさせない(下の折り返しとは無関係)
pd.set_option('max_columns',20) # この値を超えたら省略される
pd.set_option('max_rows',100)

# 横に長いdf の時に、折り返し(word wrap)を無しにする。 
pd.set_option('expand_frame_repr', False) # 折り返しをオフにできる

# float の表示精度変更 + おふざけ
pd.options.display.float_format ='${:,.3f} : いぇい'.format
pd.DataFrame([0.123456]) # --> $0.123 : いぇい

altair

import altair as alt
alt.renderers.enable('notebook')
alt.data_transformers.enable('default', max_rows=None)

alt.data_transformers.enable('json')
alt.themes.enable('opaque') # set color explicitly: good for non-white background color

# お試し用データセット
from vega_datasets import data