pythonでDataFrameを使うときのTips
pythonでDataframeを扱うときのメモ
利用したデータはこれ
sortのために全員2017年に生まれてたことに。
複数の条件式の指定
andは&でつなぐ
orは|でつなぐ
それぞれの式は括弧でまとめておく
#読み込みはこんなかんじで
import pandas as pd
df=pd.read_csv('pocketcamp.csv')
#クール属性かつオスの住人一覧
df[(df['ATTRIBUTE']=='クール') & (df['SEX']=='male')]
ID NAME SEX ATTRIBUTE BIRTH
2 セルバンテス male クール 2017-04-30
4 アポロ male クール 2017-07-04
25 リカルド male クール 2017-12-06
34 シュバルツ male クール 2017-06-16
39 ボルト male クール 2017-10-06
#クールかつナチュラルの住人一覧
df[(df['ATTRIBUTE']=='クール') | (df['ATTRIBUTE']=='ナチュラル')]
ID NAME SEX ATTRIBUTE BIRTH
0 アグネス female クール 2017-04-21
1 アルベルト male ナチュラル 2017-06-09
2 セルバンテス male クール 2017-04-30
4 アポロ male クール 2017-07-04
5 ペーター male ナチュラル 2017-04-05
sortの際の第2,3ソート条件の指定
#第1ソートに性別, 第2ソートに誕生日を設定する
df[df['ATTRIBUTE']=='ナチュラル'].sort_values(by=['SEX','BIRTH'], ascending=False)
ID NAME SEX ATTRIBUTE BIRTH
32 サンデー male ナチュラル 2017-07-24
1 アルベルト male ナチュラル 2017-06-09
17 リッキー male ナチュラル 2017-06-03
20 ハムスケ male ナチュラル 2017-05-30
31 ビンタ male ナチュラル 2017-04-11
5 ペーター male ナチュラル 2017-04-05
33 ペンタ male ナチュラル 2017-01-05
19 キャラメル female ナチュラル 2017-12-27
15 エレフィン female ナチュラル 2017-12-08
16 ドレミ female ナチュラル 2017-03-26
複数カラムを指定してユニークを残す
drop_duplicatesにlistを指定して実現できる
#属性と性別だけのユニークを取る
df.drop_duplicates(['ATTRIBUTE', 'SEX']).sort_values(by=['ATTRIBUTE'])
ID NAME SEX ATTRIBUTE BIRTH
0 アグネス female クール 2017-04-21
2 セルバンテス male クール 2017-04-30
7 グラさん male スポーティ 2017-08-08
11 チャーミー female スポーティ 2017-04-17
1 アルベルト male ナチュラル 2017-06-09
15 エレフィン female ナチュラル 2017-12-08
3 アップル female ファンシー 2017-09-24k
属性の数をカウント
groupby.sumでやる
df['COUNT']=1
df.groupby('ATTRIBUTE').sum()
ID COUNT
ATTRIBUTE
クール 153 8
スポーティ 220 11
ナチュラル 189 10
ファンシー 218 11
ファンシー住民は女子しかいないのか。。。