PythonでPandasのPlotを試す
こちらの記事のオマージュです。環境は、Windows/Python3.4です。pandasなどはpipでインストールします。groupbyによる集計や、日本語表記などに対応しました。
補記:可変長引数・キーワード可変長引数
$ cat kwargs.py def func(x,a=1,z=0,zz=100,*args,**kwargs): print("x=",x) print("=====") print("a=",a) print("=====") print("args=",args) print("=====") print("kwargs",kwargs) print("=====") print("z=",z) print("=====") print("zz=",zz) args = [10,20,30,40,50] kargs = {"a":10,"b":20,"c":30,"d":40,"e":50} print("-----func(args)-----") func(args) print("-----func(*args)-----") func(*args) print("-----func(1,**kargs)-----") func(1,**kargs) print("-----func(1,*kargs)-----") func(1,*kargs) $ python kwargs.py -----func(args)----- x= [10, 20, 30, 40, 50] ===== a= 1 ===== args= () ===== kwargs {} ===== z= 0 ===== zz= 100 -----func(*args)----- x= 10 ===== a= 20 ===== args= (50,) ===== kwargs {} ===== z= 30 ===== zz= 40 -----func(1,**kargs)----- x= 1 ===== a= 10 ===== args= () ===== kwargs {'d': 40, 'c': 30, 'e': 50, 'b': 20} ===== z= 0 ===== zz= 100 -----func(1,*kargs)----- x= 1 ===== a= e ===== args= ('a', 'd') ===== kwargs {} ===== z= c ===== zz= b
実引数の辞書に*
を付けて関数に渡すと、辞書のキーが仮引数に渡される。仮引数のデフォルト引数への割り当ては、仮引数の宣言順序とは関係なく実施される。以下のように、実行するたびに割り当てが変わる。
-----func(1,*kargs)----- x= 1 ===== a= b ===== args= ('c', 'd') ===== kwargs {} ===== z= e ===== zz= a
splitlines()
splitlines()は最後の空白要素を削除するが、split("\n")は削除しない。True
を与えると改行を付けたまま分割して返す。
>>> a="aaa\nbbb\nccc\n" >>> a.splitlines() ['aaa', 'bbb', 'ccc'] >>> a.split("\n") ['aaa', 'bbb', 'ccc', ''] >>> a="aaa\nbbb\nccc\n\n\n\n" >>> a.splitlines() ['aaa', 'bbb', 'ccc', '', '', ''] >>> a.split("\n") ['aaa', 'bbb', 'ccc', '', '', '', ''] >>> a="aaa\nbbb\nccc" >>> a.splitlines() ['aaa', 'bbb', 'ccc'] >>> a.split("\n") ['aaa', 'bbb', 'ccc'] >>> a.splitlines(True) ['aaa\n', 'bbb\n', 'ccc']