経済統計の使い方
統計初心者の社会人向けに、経済データの解説をしています。「まとめページ」をご覧くだされば、全体的な内容がわかると思います。
python

【python】データフレームの中身を知る、追加する(pandas)

データフレームの基本操作

データフレームをどのように扱うか、まとめてみました。データフレームの作成法についてはを参照してください。

ここでは、データフレームの中身を見たり、列を追加したりするときのやり方を説明します。

経済統計の使い方では、統計データの入手法から分析法まで解説しています。

【python】pythonのまとめ 経済統計の使い方では、統計データの入手法から分析法まで解説しています。 https://officekaisuiyoku.com...

中身を知る

このデータフレームについて操作していきます。

import pandas as pd

df1 = pd.DataFrame({
    "国名": ["A国", "B国","C国"],
    "2000": [400, 330,240],
    "2010": [410, 340,250],
    "2020": [420, 350,260]
})

データを見る

df

print(df)

データフレームの名前のみを入力すると、データが表形式で出力されます。データ量が多い場合は最初の5行と最後の5行が表示されます。

print(df)としても出力されます。こちらもデータ量が多い場合は最初の5行と最後の5行が表示されます。

   国名  2000  2010  2020
0  A国   400   410   420
1  B国   330   340   350
2  C国   240   250   260

そもそもデータフレームかどうかを確かめる

type(df)

データフレームかどうかを確かめるにはtype関数を使います。データフレームであれば、

<class’pandas.core.frame.DataFrame’>と表示されます。pandasというパッケージの中のcore.frameというモジュールにある、DataFrameというデータ型ということを示しています。データフレームはクラス(設計図)であり、メソッドが使えます。

print(type(df1))
出力
<class 'pandas.core.frame.DataFrame'>

データフレームの大きさを知る

df.shape

データフレームの大きさを知るには、shapeメソッドを使います。3行4列であることがわかります。

print(df1.shape)
出力
(3, 4)

データタイプを知る

df.dtypes

データフレームの要素のデータタイプを知るには、dtypesメソッドを使います。

print(df1.dtypes)

列名は、数値になったり文字になったりするので、objectになっています。国名は文字ですが、objectはすべての形を含みます。ほかはint64で、整数であることを表しています。

国名      object
2000     int64
2010     int64
2020     int64
dtype: object

データの一部を見る

df.head(),df.tail()

データの一部をみるには、headメソッドやtailメソッドがあります。()の中に数字を入れると、その行分だけ出力されます。何も入力しない場合はhead()は最初5行、tail()は最後5行が出力されます。

行や列を加える

df[’列名’]

データフレームに角カッコをつけ、列名を指定すると、その列を指定したことになります。新たな列名を指定して、リストで値を入力すると、列を加えることになります。以下のデータフレームに加えていきたいと思います。

df1
  国名  2000  2010  2020
0  A国   400   410   420
1  B国   330   340   350
2  C国   240   250   260

データフレーム名の後に角カッコをつけ、列名を入れると、2000という列を表します。

df1[’2000']

	2000
0	400
1	330
2	240

dtype: int64

新たな列を加える

df=df[’新列名’]

新たな列を加えるには、各カッコの中に新列名を入れ、それに対応する値をリストの形で指定します。

df1['2025']=[430,360,270]

print(df1)
出力
   国名  2000  2010  2020  2025
0  A国   400   410   420   430
1  B国   330   340   350   360
2  C国   240   250   260   270

assignメソッド(列の追加)

assign(新列名=1)

assignメソッドを使っても、列を増やすことができますが、通常のデータを増やす要素には適しません。df[’列名’]=[リスト]で作成すれば済みます。また、データフレームを結合(mergeconcat)することでも、列を追加できます。appendでも行や列の追加ができますが、concatの方が簡単です。

assingでは、同じ数字を一つの列に入れる場合に便利です。列名(カラム名)は文字列の場合でも’’で囲みません。文字列=数字とすると、同じ数字が各行に入ります。

df2=df1.assign(地域=1)

print(df2)

出力
   国名  2000  2010  2020  地域
0  A国   400   410   420   1
1  B国   330   340   350   1
2  C国   240   250   260   1

dropメソッド(列の削除)

df.drop(’列名’,axis= )

行や列を削除する場合は、dropメソッドを使います。行を削除する場合はaxis=0(省略可),列を削除する場合はaxis=1です。

df2=df1.drop('2020',axis=1)

print(df2)
出力
   国名  2000  2010
0  A国   400   410
1  B国   330   340
2  C国   240   250

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA