- pandasでデータフレームを作る基本を確認
- データフレーム…一言で表すと"値の入れ物"
- 簡単な例で動作検証
- 空のデータフレーム作成
- 列に値の追加(1列全部)
- ピンポイントに要素を1つ入れる
- 座標を指定して入れるようなイメージ
- 一行追加
今回のコードと実行結果
- まず今回のサンプルコードと実行結果を記載
- 後述で一つずつ見ていく
コード
import pandas as pd
import warnings
# warningが邪魔だったので設定
warnings.simplefilter('ignore')
# 空のDataFrameを作成
df = pd.DataFrame(columns=["Name", "Score"])
# 結果の確認
print("空のDataFrameを作成")
print(df)
print("----------")
# 列"Name"に値を入れる
df["Name"] = ["Andy", "たろう"]
# 結果の確認
print("列Nameに値を入れる")
print(df)
print("----------")
# Name"Andy"のScore列に数字を設定
df.loc[df["Name"] == "Andy", "Score"] = 60
# Name"たろう"のScore列に数字を設定
df.loc[df["Name"] == "たろう", "Score"] = 70
# 結果の確認
print("Andyとたろうにscoreを設定")
print(df)
print("----------")
# 一行 Name, Scoreのセットを加える
df_temp = pd.DataFrame({"Name":["ななし"], "Score":[100]})
df = df.append(df_temp)
print("Name,Scoreのセットを加える")
print(df)
import warnings
とwarnings.simplefilter('ignore')
はwarningが出力に出てきたので、非表示にするため記載- 無くても実行結果に影響無し
実行結果
前提
- 今回はpandasを使うので
import pandas
が必要as pd
はその後pd
でpandasを呼び出すためのコード
- 後述する解説では
pd
を使用するas pd
にしない場合はpd
=pandas
と読み替えてください
空のデータフレーム作成
-
データフレーム作成は
pd.Dataframe
# 空のDataFrameを作成 df = pd.DataFrame(columns=["Name", "Score"]) # 結果の確認 print("空のDataFrameを作成") print(df)
-
入れたい分だけ
"【列名】"
を追加する
例:Name、Score列を追加する場合
# 空のDataFrameを作成
df = pd.DataFrame(columns=["Name", "Score"])
# 結果の確認
print("空のDataFrameを作成")
print(df)
- 実行結果
列に値を入れる
- 1列の全ての行に入れる場合、リストを使用する場合と同様に
[]
を使う- というかリスト
df["【列名】"] = [【要素】, 【要素】, ...]
- というかリスト
例:Name列に値を入れる場合
# 列"Name"に値を入れる
df["Name"] = ["Andy", "たろう"]
# 結果の確認
print("列Nameに値を入れる")
print(df)
- 実行結果
ピンポイントに要素を1つ入れる
- (x,y)座標を指定して入れるイメージ
loc
を使用【変数名】.loc[【変数名】["【列名】"] == 【場所を指定したい値(y)】, "【指定したい列(x)】"] = 【値】
例:"Name列=Andy"のScoreに60、"Name列=たろう"に70を入れたい場合
# Name"Andy"のScore列に数字を設定
df.loc[df["Name"] == "Andy", "Score"] = 60
# Name"たろう"のScore列に数字を設定
df.loc[df["Name"] == "たろう", "Score"] = 70
# 結果の確認
print("Andyとたろうにscoreを設定")
print(df)
- 実行結果
一行追加
- 特定の行に1セットを入れるイメージ
【変数名】.append
を使う- 例を見せる方が早そうなので早速例
例:(Name, Score)に("ななし", 100)を入れる場合
# 一行 Name, Scoreのセットを加える
df_temp = pd.DataFrame({"Name":["ななし"], "Score":[100]})
df = df.append(df_temp)
print("Name,Scoreのセットを加える")
print(df)
- 実行結果
コメント