Python, pandasの基礎⑥ ~データフレームの基本操作② シリーズの代入,del編~

記事内に広告が含まれています。

どうも!僕です!
つか〇です!

「データフレームにシリーズを代入したいんやけど...」

「この列いらんわ~,消すのどうすんの?」

ってすら思ってなかったつか〇です!
データフレームもシリーズも知りませんでした!!

一か月前はそんなつか〇が,データフレームについて,シリーズの代入とdelをわかりやすく,丁寧に解説します!!

基本操作④ シリーズの代入

一度作ったデータフレームにシリーズを代入できるって知ってました?
つか〇は知りませんでした!

では,実際にやってみましょう!!

まず,pandasとシリーズとデータフレームをインポートしておきましょう!
一緒に今回使うデータフレームを作ります.

import pandas as pd
from pandas import Series, DataFrame
data = {"City": ["Hikone", "Hikone", "Kusatsu", "Kusatsu", "Kusatsu", "Hikone"],
       "year": [2010, 2011, 2012, 2013, 2014, 2015],
       "data": [3.2, 4.3, 2.1, 3.4, 5.6, 2.5]}                #ディクショナリを作成
frame = pd.DataFrame(data, index=["a", "b", "c", "d", "e", "f"])                                    #データフレーム作成
frame

        City	year	data
a	Hikone	2010	3.2
b	Hikone	2011	4.3
c	Kusatsu	2012	2.1
d	Kusatsu	2013	3.4
e	Kusatsu	2014	5.6
f	Hikone	2015	2.5

滋賀県の市についてのデータフレームを作りました.
インデックスに「a, b, c,….」,Cityに滋賀県の市名,yearに年,dataに適当な数値が入ってます.

このデータにシリーズを代入してみましょう.
以下のようなシリーズを作ります.

data2 = pd.Series([400, 750, 1000, 230], ["c", "f", "a", "d"])
data2
c     400
f     750
a    1000
d     230
dtype: int64

適当な数値が入ったシリーズを作成しました.
インデックスもバラバラですね.

「こんなん代入できんのー?」

では,これを最初に作ったデータフレームに代入してみましょう!

frame["rice"] = data2
frame

        City	year	data	rice
a	Hikone	2010	3.2	1000.0
b	Hikone	2011	4.3	NaN
c	Kusatsu	2012	2.1	400.0
d	Kusatsu	2013	3.4	230.0
e	Kusatsu	2014	5.6	NaN
f	Hikone	2015	2.5	750.0

シリーズが代入できました.
しっかり指定したインデックスに指定した数値が入ってます.

また,指定しなかったデータには,欠損値NaNが入ってます.
欠損値は置くが深いので,後日説明できればと思います!!

このようにデータフレームにシリーズを代入できます!!

基本操作⑤ 列の削除「del」

それでは,次にデータフレームの列を削除してみましょう!

前項で用いたデータに対して,「riceのデータあるからdataいらねーな」と思ったとします.
目障りだなー,ほんま邪魔やわーって思ったとします.
歯ブラシに挟まったネギくらい邪魔だとします.

そんなときは,「del」というキーワードを使います.
これはディクショナリでも使われるやつですね.
では,実際にdataを消してみましょう!

del frame["data"]
frame
	City	year	rice
a	Hikone	2010	1000.0
b	Hikone	2011	NaN
c	Kusatsu	2012	400.0
d	Kusatsu	2013	230.0
e	Kusatsu	2014	NaN
f	Hikone	2015	750.0

削除できましたね.
こんな感じで,データフレームの列の削除が可能です.

ちなみに,以下の方法で削除されたかを確認してもいいでしょう.

frame.columns
Index(['City', 'year', 'rice'], dtype='object')

columnsで列のインデックスだけを見る方法ですね.
大きいデータとかはこっちで見た方がスッキリして見やすそうですね.

まとめ

データフレームにおける代入と削除の操作について紹介しました.
この二つあれば簡単な前処理はできそうですね.
他の操作は,「Python, pandasの基礎⑤ ~データフレームの基本操作① head(), 列の参照,代入編~

詳しくは,「Pythonによるデータ分析入門」で説明されています.
これからデータ分析触れてみたい!って方にはお勧めの一冊です.

一緒にデータ分析をマスターして,世の中を定量的に判断できるようにしていきましょう!!

コメント

タイトルとURLをコピーしました