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)