Hatena::ブログ(Diary)

arupaka-_-arupakaの日記

2016-05-12

pandas pythonでデータをグループわけして記述統計を調べて外部ファイルでソートして出力するワンライナー

pandas pythonでデータをグループわけして記述統計を調べて外部ファイルでソートして出力するワンライナー

  • 並び順の指定なし

入力

  python -c "import pandas as pd;df2=pd.read_csv('a3.txt',names=['st','fee']);print df2.groupby('st').describe().unstack()['fee'];"

出力

count mean std min 25% 50% 75% max

st

イヌ 7 46.428571 19.940387 2 51.5 52 53 62

キツネ 7 26.571429 11.516034 12 17.0 32 33 42

タヌキ 7 6.142857 4.845223 1 3.5 4 9 13

ネコ 7 229.285714 37.200870 145 242.0 242 244 246



  • 並び指定あり
 python -c "import pandas as pd;df=pd.read_csv('a1.txt',names=['id','st'],index_col='st');df2=pd.read_csv('a2.txt',names=['st','fee']);df2b=df2.groupby('st').describe().unstack()['fee'];df2c=df.join(df2b);print df2c;df2c.to_csv('out.csv');"

入力1

並び順指定ファイル

$ cat a1.txt

1,タヌキ

2,キツネ

3,ネコ

4,イヌ

入力2:

データファイル

$ cat a3.txt

イヌ,52

キツネ,32

ネコ,245

タヌキ,3

イヌ,52

キツネ,33

ネコ,242

タヌキ,1

イヌ,53

キツネ,12

ネコ,145

タヌキ,13

イヌ,51

キツネ,22

ネコ,242

タヌキ,13

イヌ,2

キツネ,33

ネコ,246

タヌキ,4

イヌ,53

キツネ,42

ネコ,242

タヌキ,4

イヌ,62

キツネ,12

ネコ,243

タヌキ,5


出力

id count mean std min 25% 50% 75% max

st

タヌキ 1 7 6.142857 4.845223 1 3.5 4 9 13

キツネ 2 7 26.571429 11.516034 12 17.0 32 33 42

ネコ 3 7 229.285714 37.200870 145 242.0 242 244 246

イヌ 4 7 46.428571 19.940387 2 51.5 52 53 62

2016-05-11

2つのファイルを併合するワンライナー(pandas利用)

2つのファイルを併合するワンライナー(pandas利用)

python -c "import pandas as pd;df=pd.read_csv('a1.txt',names=['id','st']);df2=pd.read_csv('a2.txt',names=['st','count']);print pd.merge(df,df2,on='st');"

入力

$ cat a1.txt

1,タヌキ

2,キツネ

3,ネコ

4,イヌ

$ cat a2.txt

イヌ,52

キツネ,32

ネコ,245

タヌキ,3


出力

id st count

0 1 タヌキ 3

1 2 キツネ 32

2 3 ネコ 245

3 4 イヌ 52

2016-03-30

pythonのpandasでデータ解析、カテゴリーごとに和をとる. tapply

groupbyを使う.

2列目を4列目で場合ごとに平均

ll0=df2,4?.groupby(4).mean()$

#そのほか

ll1=df6,4?.groupby(4).mean()$

  ll1=df6,4?.groupby(4).median()$ 

  ll1=df6,4?.groupby(4).describe()$ 

参考:

pandasにsqlでよくやる処理をやらせてみる http://www.mwsoft.jp/programming/numpy/sql_to_pandas.html

gensimの導入

python,

scipy,

numpy

のバージョンチェック

easy_install --upgrade gensim

2016-03-25

pandasで複数ファイルの3列目の同じ値のものをカウントしてマージ

pandasで3列目の同じ値のものをカウントしてマージ

$ cat count_station.py
import pandas as pd
import glob

l1=glob.glob('./uniq_data*')
(l1)
#print l1
start=True
for i in l1:
        i.strip()
        try:
                df=pd.read_csv(i,header=None)
                q1=df[4].value_counts()
                #print q1.keys()
                #print q1
                #print type(q1)
                df2=pd.DataFrame([q1.keys(),q1]).T
                df2.columns=["station",i]
                print df2
                #exit()
                if start==True:
                        df3=df2;
                        start=False
                else:
                        df3=pd.merge(df3,df2,on="station",how="outer")

        finally:
                print "test"

print df3
df3.to_csv("station_count.dat",index=False)


2016-03-17

windows7でグループポリシーで禁止されたコンロールパネルを復帰させる

  • Windows7でグループポリシーで禁止されたコンロールパネルを復帰させる.
  • Windows7でコントロールパネルが表示されない、もしくは、禁止されている場合は

以下の方法で復帰できる場合がある。

基本的には、gpedit.msc を利用する.

指定されたコントロールパネルの項目を非表示にする方法

http://miki73.com/2015/03/24/hide-specified-control-panel-items/

  • また,administrator 権限が必要な場合は以下の方法で取得できる.

Windows 7の起動時に管理者権限を強制的に取得する裏技 - GIGAZINE http://gigazine.net/news/20150203-windows7-grab-admin-account/

具体的には、不正終了->start up 修復の詳細を確認するためにメモ帳が開かれる->メモ調のリネームを利用して、

system32/setrc(シフト5回出るプログラム)をsystem32/cmd.exeに変更(cmd.exe をsetrcにリネーム。その際、両方のファイルのバックアップをとっておくこくこと) -> windows開始画面でシフト5回でAdministrator でcmd.exe起動->パスワード変更.