【Python】pandas:データフレーム作成・データ挿入

IT
  • 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 warningswarnings.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)
  • 実行結果

コメント

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