実行例は「saka.mokumoku」の「Google Colabotry」環境に保存してある
1.作成方法
リスト、ディクショナリ、NumPyのndarray、CSVファイル等の
ファイルに格納された情報をDataFrameに取り込む
pd.DataFrame(data = 格納するデータ, index = 行名, columns = 列名)
2.DataFrameの作成
(1)リストからの作成
リストに文字列を設定し、引数として渡す
import pandas as pd
list1=["a1","a2","a3"]
pd.DataFrame(data=list1)
(2)NumPyで作成した配列から、DataFrameを作成する
import numpy as np
arr1 = np.array([[1,2,3], [21,22,23], [31,32,33]])
pd.DataFrame(data=arr1)
(3)辞書からDataFrameを作成する
辞書のキーと合わせて、列単位でデータを設定していく
dict1=dict(Row1=[1,21,31], Row2=[2,22,32], Row3=[3,23,33])
pd.DataFrame(data=dict1)
(4)インデックスや列名を指定してDataFrameを作成する
list1に3行3列のリスト、引数dataにlist1を設定する
index1にインデックス、引数indexにindex1を渡す
columns1に列名、引数columnsにリストcolumns1を渡す
list1=[[1,2,3], [21,22,23], [31,32,33]]
index1 = ["Row1", "Row2", "Row3"]
columns1 =["Col1", "Col2", "Col3"]
pd.DataFrame(data=list1, index=index1, columns=columns1)
3.DataFrameへの追加・削除
(1)行を追加する
最初にデータを準備する
list2 = [["P001", "iPhone 8 64GB", 85000],
["P002", "iPhone X 256GB", 130000],
["P003", "iPhone SE 32GB", 37000]]
columns2 = ["Product ID", "Product Name", "Price (JPY)"]
df1 = pd.DataFrame(data=list2, columns=columns2)
df1
追加するデータ
df2 = pd.DataFrame(data = [["P004", "iPhone 7 32GB", 10000]],
columns = columns2)
df2
追加処理
True・・・index番号を振り直す
False・・・index番号はそのまま残る
axis=0・・・行(index)を対象とする
axis=1・・・列(columns)を対象とする
df1 = pd.concat([df1, df2], ignore_index=True, axis=0)
df1
df1 = pd.concat([df1, df2], ignore_index=False, axis=0)
df1
(2)列を追加する
注意点は、追加する行の数を合わせること
df1["Screen Size (in.)"] = [4.7, 5.8, 4, 4.7]
df1
(3)行を削除する
引数inplaceが必要
True・・・実行結果が保存され置き換わる
False・・・実行結果が保存されない
df1.drop([2, 3], inplace = True)
df1
(4)列を削除する
axis=0・・・行(index)を対象とする
axis=1・・・列(columns)を対象とする
df1.drop("Screen Size (in.)",axis=1,inplace=True)
df1