pythonでpandasを扱うときのメモ
pythonでpandasを扱うときのメモ
あとでちゃんと書く(適当)
◎DataFrameの作成
df=pd.DataFrame([[]],columns=[],index=[])
空っぽ
二次元配列から作成
◎DataFrameへのアクセス
df[columns]
特定の列を抽出/Series
df[columns].values
特定の列を抽出/array
df.ix[index]
特定の行を抽出/Series
df.ix[index].values
特定の行を抽出/array
df[columns][0]=df[columns].values[0]
同じ
df[column]=""
columnがある場合はその列がすべて""になる
columnがない場合には新規に列設定(中身は"")
◎DataFrameの操作
df.set_index(columns)
インデックスの再設定
◎indexじゃない行の値で検索(もっとスマートなやり方??)
df.ix[df[columns]==value]
特定の行を引っ張り出す/name列がhogehogeに一致する行のDataFrame
df.drop(df.ix[df["name"]=="hogehoge"].index
特定の行だけ削除するならこんなかんじ?
◎CSVファイルの読み書き
読んだり書いたりしてるとindexがついたり剥がれたり二重についたりしてやばい。
このページの説明がわかりやすい(最下部)。
pandasでcsv/tsvファイルの読み書き | mwSoft
もとのファイルがこんなだったら、(Nameがindex)
,America
Name,John
読み書きは以下のような感じ
df=pd.read_csv(fp),index_col=0)
df.to_csv(fp,index=None)