pandas#Operator

今回はpandasのoperator操作を紹介したいと思います。

まず簡単なDateFrameを作ります。

import numpy as np
import pandas as pd

df=pd.DataFrame({
'col1':[1,2,3,4],
'col2':[444,555,666,444],
'col3':['abc','def','ghi','xyz']
})
df.head()

こんな感じのDataFrame作りました。

col1 col2 col3
0 1 444 abc
1 2 555 def
2 3 666 ghi
3 4 444 xyz

ユニークなKeyを探しします。

df['col2'].unique()

numpyの配列が戻ってきました。

array([444, 555, 666])

ユニークなKeyの数を求めます。

len(df['col2'].unique())
df['col2'].nunique()

どっちでもいけます。

3

各IDの数を求めます。

df['col2'].value_counts()

Seriesが戻りました。

444    2
555    1
666    1
Name: col2, dtype: int64

DataFrameの中に2より大きなRowsを探がします。

df[df[‘col1’]>2]

これは実際jupyterで出力されたTableです。

col1 col2 col3
2 3 666 ghi
3 4 444 xyz

DataFrameの中に”col1″が2より大きなところを探します。

df[‘col1’]>2

Seriesが戻ってきました。Trueは2より大きく、Falseは2より以下。

0    False
1    False
2     True
3     True
Name: col1, dtype: bool

DataFrameの中に”&”Operatorを使ってみます。”col1″が2より大きく”col2″が444より大きなところを探します。

df[(df['col1']>2) & (df['col2']>444)]

これは実際jupyterで出力されたTableです。

col1 col2 col3
2 3 666 ghi

DataFrameの和を計算します。

df.sum()

Seriesが戻ってきます。

col1              10
col2            2109
col3    abcdefghixyz
dtype: object

もちろん、Function()をはめることもできます。

def time3(x):
return x*x*x

df['col1'].apply(time3)

Seriesが戻ってきます。

0     1
1     8
2    27
3    64
Name: col1, dtype: int64
PythonのBuild-in functionもはめますよ。
df['col3'].apply(len)

Seriesが戻ってきます。

0    3
1    3
2    3
3    3
Name: col3, dtype: int64
 でも、一番よく使うのはlambdaと一緒に使うじゃないかな?
df['col2'].apply(lambda x:x*3)
Seriesが戻ってきます。
0    1332
1    1665
2    1998
3    1332
Name: col2, dtype: int64

DataFrameのcolumnsデータを取ります。

df.columns
みつのColumnsのKey名が戻りました。
Index(['col1', 'col2', 'col3'], dtype='object')

DataFrameのIndexを取ります。

df.index
Indexが始まる、止まると間隔の値が戻りました。
RangeIndex(start=0, stop=4, step=1)

DataFrameの構成などを取ります。

df.info()
構成のすべてのデータが戻りました。
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
col1    4 non-null int64
col2    4 non-null int64
col3    4 non-null object
dtypes: int64(2), object(1)
memory usage: 176.0+ bytes

DataFrameをソートします。

df.sort_values('col2')

‘col2’がBaseにしてソートされたDataFrame戻りました。

col1 col2 col3
0 1 444 abc
3 4 444 xyz
1 2 555 def
2 3 666 ghi


DataFrameの中にNan値があるかを探します。

df.isnull()
df.notnull()

DataFrame戻りました。

col1 col2 col3
0 False False False
1 False False False
2 False False False
3 False False False

それじゃねー

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする