In [1]:
# それぞれ必要なものを import するけど、こういう風に短く書くのがこっち界隈だと一般的らしい
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
In [2]:
# Creating a Series by passing a list of values, letting pandas create a default integer index:
# リストを指定してシリーズを作成すると、Pandasはデフォルトで数値のインデックスを生成する
s = pd.Series([1,3,5,np.nan,6,8])
s
Out[2]:
In [4]:
# まずは日付のインデックスを作成
dates = pd.date_range('20130101', periods=6)
dates
Out[4]:
In [5]:
# Creating a DataFrame by passing a numpy array, with a datetime index and labeled columns:
# numpy arrayを渡してDataFrameを作成する時に、インデックスと列名を指定
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
df
Out[5]:
In [6]:
# Creating a DataFrame by passing a dict of objects that can be converted to series-like.
# DataFrame作成時に辞書を渡すと、それぞれの辞書の値を Series のように扱う
df2 = pd.DataFrame({ 'A' : 1.,
'B' : pd.Timestamp('20130102'),
'C' : pd.Series(1,index=list(range(4)),dtype='float32'),
'D' : np.array([3] * 4,dtype='int32'),
'E' : pd.Categorical(["test","train","test","train"]),
'F' : 'foo' })
df2
Out[6]:
In [7]:
# Having specific dtypes
# それぞれ特定のデータ型(dtypes)を持つ
df2.dtypes
Out[7]:
In [11]:
# If you’re using IPython, tab completion for column names (as well as public attributes) is automatically enabled.
# Here’s a subset of the attributes that will be completed:
# IPython使っていたら db2. で TAB を入力すると列名が自動的に補完対象になる
# Jupyter notebok だと TAB を入力すると補完するための一覧がリストボックスで表示される
In [15]:
# See the top & bottom rows of the frame
# DataFrame の先頭と最後の行を参照する
df.head()
Out[15]:
In [14]:
df.tail(3)
Out[14]:
In [20]:
# Display the index, columns, and the underlying numpy data
# インデックス、列、値を参照する
print(df.index)
print(df.columns)
print(df.values)
In [24]:
# Describe shows a quick statistic summary of your data
# データの特徴(平均、中央値、最大、最小など)を表示する
df.describe()
Out[24]:
In [25]:
# Transposing your data
# データを転置する(インデックスと列を入れ替える)
df.T
Out[25]:
In [27]:
# Sorting by an axis
# インデックスでソートする(axis=1なので横方向)
df.sort_index(axis=1, ascending=False)
Out[27]:
In [28]:
# Sorting by values
# 値でソートする(ここではB列を指定している)
df.sort_values(by='B')
Out[28]:
In [ ]: