0
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[python]pandasのリファレンス

Last updated at Posted at 2019-07-25

pandasのリファレンス

pandasのDataFrameは、テーブル形式のデータ構造を持ちます。
備忘録として、以下に記載いたします。
※適宜編集していきます。追加希望の内容があれば編集要望をお願いいたします。

要素の抽出

ilocメソッドやlocメソッドで行と列の両方を指定すれば、 特定の要素ひとつを抽出することも可能です。

# 特定の要素を抽出
# ilocメソッドで[行のindex,列のindex]の順番に指定
df.iloc[1,0]
# 特定の要素を抽出
# locメソッドで[行のindex,列の名称]を順番に指定
df.loc[1,'名前']

行の追加

新たに行を追加したいときは、その行を表すDataFrameを生成し、concatメソッド(concatenate: 「結合する」 の意味)でDataFrameに追加をします。 結合したいDataFrameをリストに格納して渡し、行を追加したいときは引数axisを0に指定します。

2つのDataFrameに関して列数が一致している必要がありますので、注意してください。

# 追加したいDataFrameを定義
row = pd.DataFrame({'名前': ['渡辺'],
                    '年齢': [45],
                    '性別': '男'})
# 行の追加(行: axis=0, 列: axis=1)
df_2 = pd.concat([df,row], axis=0)

要約統計量(平均、標準偏差など)を取得

pandas.DataFrameおよびpandas.Seriesのメソッドdescribe()を使うと、各列ごとに平均や標準偏差、最大値、最小値、最頻値などの要約統計量を取得できる。
とりあえずデータの雰囲気をつかむのにとても便利。

  • describe()の基本的な使い方
  • 対象となる型を指定: 引数include, exclude
    • 文字列など数値以外の列を指定
    • すべての型の列を指定
    • 任意の型を選択・除外
  • describe()の項目の意味と対応する個別メソッド
    • count: 要素の個数
    • unique: ユニークな(一意な)値の要素の個数
    • top: 最頻値(mode)
    • freq: 最頻値の頻度(出現回数)
    • mean: 算術平均
    • std: 標準偏差
    • min: 最小値
    • max: 最大値
    • 50%: 中央値(median)
    • 25%, 75%: 1/4分位数、3/4分位数
  • パーセンタイルの刻みを指定
  • 数値列に対して頻度などを算出
  • 数字の文字列に対して平均や標準偏差などを算出
  • pandas.Seriesのdescribe()
  • 日時(datetime64[ns]型)の場合
  • 行に対してdescribe()を適用
import pandas as pd

df = pd.DataFrame({'a': [1, 2, 1, 3],
                   'b': [0.4, 1.1, 0.1, 0.8],
                   'c': ['X', 'Y', 'X', 'Z'],
                   'd': ['3', '5', '2', '1'],
                   'e': [True, True, False, True]})

print(df)
#    a    b  c  d      e
# 0  1  0.4  X  3   True
# 1  2  1.1  Y  5   True
# 2  1  0.1  X  2  False
# 3  3  0.8  Z  1   True

print(df.describe())
#               a         b
# count  4.000000  4.000000
# mean   1.750000  0.600000
# std    0.957427  0.439697
# min    1.000000  0.100000
# 25%    1.000000  0.325000
# 50%    1.500000  0.600000
# 75%    2.250000  0.875000
# max    3.000000  1.100000

print(type(df.describe()))
# <class 'pandas.core.frame.DataFrame'>
0
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?