pandas

<Python, pandas> カラムの値で要素を検索する。 複数条件。

また忘れかかっていたので、再度メモ。 データフレームDataFrameでカラムcolumnの値で検索をかけて、 特定要素elementの値を書き換える方法。 .loc[]を使う。 複数の条件も指定可能。 In [1]: import pandas as pd In [2]: df = pd.DataFrame({'a':[1,2,3,4,…

<Python, pandas> DataFrame ?

ちみはデータフレームDataFrameか? を判定する方法。 In [10]: type(df_data_lst) Out[10]: list In [11]: type(df_data_lst[0]) Out[11]: int In [12]: type(df_data_lst[1]) Out[12]: pandas.core.frame.DataFrame In [13]: isinstance(df_data_lst[1], p…

<Python, pandas> カラムをインデックスに引き当てる

データフレームDataFrameのカラムColumnをインデックスindexに引き当てる。 set_index()を使うらしい。 In [37]: df = pd.DataFrame({ ...: 'a':[1,2,3,4,5], ...: 'b':[0,0,1,1,1], ...: 'c':['a','b','c','c','d'], ...: 'd':['e','f','g','h','i'] ...: }…

<Python, pandas, Highcharts> Highcharts 散布図

Highchartsでの散布図scatter。 pandas-highchartsモジュールが、何故かscatterに対応してない。 よって、自作。 def hic_scatter(x, y, df, hue=None): ''' highchart_scatter, ''' cd_title = '{} vs {}'.format(x, y) cd_xAxis = '{}'.format(x) cd_yAxis…

<Python, pandas, json> DataFrame を json に

データフレームpandas.DataFrameをjsonにする方法。 to_json()を使う。 ただ、これの戻り値は、文字列strなので、json.loads()をする。 In [1]: import pandas as pd In [2]: df = pd.DataFrame({'a':[1,2,3,4],'b':[5,6,7,8]}) In [3]: df Out[3]: a b 0 1 …

<pandas, Python> データフレーム中の要素のユニークなものの個数を勘定

データフレームDataFrameの1カラムColumnにある、要素elementで、 ユニークuniqueなものがいくつあるか?勘定する。 In [3]: import pandas as pd In [20]: df = pd.DataFrame({'a':[1,2,2,2,3,3],'b':[4,4,4,5,6,6]}) In [21]: df Out[21]: a b 0 1 4 1 2 …

<Python, pandas, highcharts> pandas-highcharts をちょっと試す。

pandas-highchartsをちょっと試してみた。 pypi.python.org このページの使い方usageどおりだと、いまいちわかんなかったので、 いつものこちらでお世話になりつつ、、 sinhrks.hatenablog.com で、Jupyter notebookさんを起動して、 In [1]: import pandas …

<Python, pandas> pd.read_csv() でコメントアウトの行を読み込まない

pandas.read_csv()でコメントアウトの行を読み込ませないようにする方法。 commentオプションにコメントアウトさせる文字を指定する。 In [56]: csv2 = '\na,b,c,d\n#1,2,3,4\nf,g,h,j\n' In [57]: print(csv2) a,b,c,d #1,2,3,4 f,g,h,j In [58]: pd.read_c…

<Python, pandas, regexp> 各要素に対して正規表現で検索かける。

DataFrameの各要素elementに対して正規表現regexpで検索かける方法。 DataFrame.applymap()を使う。 In [1]: df = pd.DataFrame({ ...: 'a':['hage', 'hoge', 'hige'], ...: 'b':['null', 'hige', 'hage'], ...: 'c':['fugu', 'fuga', 'fugo']}) In [2]: imp…

<Python, pandas> queryでの選択

queryでのデータフレームDataFrame選択。 grepみたいなやつだね。 従来の方法。 In [101]: df = pd.DataFrame({'a':['a','b','c'], 'b':['d','e','f']}) In [102]: df Out[102]: a b 0 a d 1 b e 2 c f In [103]: df[ df.a == 'a' ] Out[103]: a b 0 a d で…

<Python, pandas> カラムの出力を左によせる。

pandas.DataFrame.to_string()で出力した文字を左によせる方法。 formattersオプションに、対象カラムに対しての出力様式をdictで指定する。 ややこしいのがformatを2回呼び出す必要がある。 では、順を追って。まずはフォーマット文の例。5文字幅で左によ…

<Python, pandas> データフレーム文字列検索

ちと、教えてもらったので、メモメモ。 データフレームDataFrame(正確にはシリーズSeries)で、特定文字を検索する方法。 grepだね。 In [5]: import pandas as pd In [8]: df = pd.DataFrame({ ...: 'a': ['a','b','c','d','e'], ...: 'b': ['f','g','h','i'…

<Python, pandas> 任意カラムでかつ任意行を選択する。

列columnを指定して、行indexをさらに指定する。 列を[]で指定して、さらに行を[ 条件式 ]で指定する。 In [1]: import pandas as pd In [5]: import numpy as np In [6]: df = pd.DataFrame(data=np.random.randn(10,2), columns=list('ab')) In [7]: df Ou…

<Python, pandas> パンダ、列の選択でちとはまったこと。

pandasで列columnでちとはまったこと。 df[[n]]と、df.iloc[:,n]では、両方とも、columnnが選択できる。が、 df[[n]]はデータフレームDataFrame df.iloc[:,n]はシリーズSeries を返す。 なので、df[[n]].valuesを見ると違いがわかる。 In [24]: df Out[24]: …

<Python, pandas> データフレームの値の一括書き換え

データフレームDataFrameの値valueを一括で書き換えたい場合。 例えば全部1にしたい時。 df = 1 とはできない、らしい。 In [1]: import pandas as pd In [2]: import numpy as np In [3]: df = pd.DataFrame(data=np.random.randn(5,5)) In [4]: df Out[4]:…

<Python, pandas> concatで連結した時にindexを再度振り直す。

pd.concatで縦連結した時にindexを再度振り直す方法。 In [2]: df = pd.DataFrame({'a':[1,2,3],'b':[4,5,6]}) In [3]: df1 = pd.DataFrame({'a':[4,5,6],'b':[7,8,9]}) In [4]: pd.concat([df, df1]) Out[4]: a b 0 1 4 1 2 5 2 3 6 0 4 7 1 5 8 2 6 9 で、…

<Python, pandas> 文字列をデータフレームへ。

文字列StringをデータフレームDataFrameへ。 In [45]: str = 'aaaaaaaa' In [46]: data = ','.join(list(str)) In [47]: data Out[47]: 'a,a,a,a,a,a,a,a' In [48]: df = pd.read_csv(io.StringIO(data), header=None) In [49]: df Out[49]: 0 1 2 3 4 5 6 7…

<Python, pandas> 値をNaNに置き換える。

値をNaNに置き換える。 DataFrame.replace()と、np.nanを使うらしい。 In [13]: df = pd.DataFrame(data=[0,0,0,1,1,0,0]) In [14]: df Out[14]: 0 0 0 1 0 2 0 3 1 4 1 5 0 6 0 In [15]: df.replace('0', np.nan) Out[15]: 0 0 NaN 1 NaN 2 NaN 3 1 4 1 5 N…

<Python, Json, numpy, pandas> json.dumps() ではまったこと。

json.dumps() ではまったこと。 numpy.int64は蹴られる。。。 In [1502]: a Out[1502]: [1, 2, 3] In [1503]: type(a[0]) Out[1503]: int In [1504]: b Out[1504]: [1.0, 2.0, 3.0] In [1505]: type(b[0]) Out[1505]: float In [1506]: s Out[1506]: 0 1 1 2…

<Python, pandas> データフレーム(DataFrame)で sort と uniq

データフレームDataFrame で sort と uniq。 uniqはpandasではdrop_duplicates。 In [1212]: df = pd.DataFrame({'a':[2,3,1,5,8,9,0,10], 'b':[1,1,1,2,3,4,5,5]}) In [1213]: df Out[1213]: a b 0 2 1 1 3 1 2 1 1 3 5 2 4 8 3 5 9 4 6 0 5 7 10 5 In [121…

<Python, pandas> データフレーム上の [ ] による行、列の選択

データフレームDataFrameで[]を使って、 行row/indexか列columnを選択gettingする方法。 ちょっとはまったので、メモ。 まずは、データフレーム作成。 In [511]: df = pd.DataFrame(data=np.random.randn(5,5)) In [512]: df Out[512]: 0 1 2 3 4 0 0.007971…

<Python, pandas> DataFlame.copy()

データフレームDataFlameのコピーは、=だけではだめらしい。。。初めてしった。。。 In [207]: df = pd.DataFrame(data=[(0,1),(2,3)]) In [208]: df Out[208]: 0 1 0 0 1 1 2 3 In [209]: df1 = df In [210]: df1.ix[0,0]=99 In [211]: df1 Out[211]: 0 1 0…

<Python, pandas> .ix の挙動

.ixの動き。 ちとトリッキーだったのでメモメモ。 .ixは、データフレームDataFrameのデフォルトで設定されるindexの値をラベル(index name)として認識して処理する。 なので、ぱっと見indexには数字が入っているがそれは数字(index number)として処理されな…

<Python, pandas> データフレーム(DataFrame)からの要素の引き出し。

すごーくわかりやすい。 行(Row)、列(Column)のまわし方。 Python pandas データのイテレーションと関数適用、pipe - StatsFragmentssinhrks.hatenablog.com

<Python, pandas> DataFrame.items()について。

DataFrame.items() について。 これは、列columnを順に送り込んでくる、、ということに はたと 気付いた。 DataFrameを初期化する時、下記書き方がある。 In [24]: df = pd.DataFrame({ ....: 'c1' : [1,2,3], ....: 'c2' : [3,4,5], ....: 'c3' : [5,6,7] .…

<Python, pandas, highcharts> pandas-highcharts

pandas-highcharts入れてみた。 >pip install pandas-highcharts You are using pip version 6.1.1, however version 7.0.3 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Collecting pandas-highcharts Downl…

<Python, pandas, items> DataFrameの要素を1つづつ取り出す。

データフレームDataFrameの要素を1つづつ取り出す方法。 df.itemsか、df.iteritems (どっちも同じっぽい) まずはデータフレーム作成。 In [44]: import pandas as pd In [45]: import numpy as np in [52]: df = pd.DataFrame(np.random.randn(5,3)) In [5…

<Python, pandas> データフレーム(DataFrame)の1要素の値の抽出

データフレームDataFrame中の1要素の値Valueを取りだす方法。 DataFrameを条件で絞っていき、最後にその条件にマッチした要素から値をゲットする。 valuesの属性で値がarrayで出てくるので、[0]で選択する。 In [100]: df = pd.DataFrame(data=[(1,2,3),(1,…

<Python, pandas> DataFrameの表示。 Columnの1つあたりの表示文字数を増やす。

データフレームDataFrameで、カラムColumnの表示文字数を増やす方法。 .set_option('display.max_colwidth') In [53]: df.head() Out[53]: total_bill tip sex smoker day time size 0 16.99 1.01 Female No Sun Dinner 2 1 10.34 1.66 Male No Sun Dinner 3…

<Python, pandas> データフレーム(DataFrame)の表示。 折り返し幅を広げる。

データフレームDataFrameを中身をprintで表示する際に横幅(折り返し幅)を折り返されないように広げる方法。 pd.set_option('line_width', 100) print df ここで教えてもらいました。 Python - pandasでよく使う文法まとめ - Qiitaqiita.com