inch-blog

Welcome to Inch-blog ! Home is a place where you can read mainly technical articles. LIFE is mainly about my personal life.

Python の pandas についてのメモ

目次

列名・行名から列番号・行番号を取得する方法

print(df.index.get_loc('[index 名]'))
# 0

print(df.columns.get_loc('[columns 名]'))
# 4

for loop を使う方法

サンプルデータ
import pandas as pd
import numpy as np

df = pd.DataFrame(
    data=np.array([
        ["りんご", "ばなな", "ぶどう", "みかん", "すいか"], 
        [100, 200, 300, 400, 500]
    ]).T,
    columns=["商品名", "値段"],
    index=["い", "ろ", "は", "に", "ほ"],
)
print(df)

#    商品名   値段
# い  りんご  100
# ろ  ばなな  200
# は  ぶどう  300
# に  みかん  400
# ほ  すいか  500
index で回す場合
for index, _ in df.iterrows():
    print(f"{index}")

# い
# ろ
# は
# に
# ほ
値で回す場合
for _, row in df.iterrows():
    print(f"{row}")
    print(f"")

# 商品名    りんご
# 値段     100
# Name: い, dtype: object

# 商品名    ばなな
# 値段     200
# Name: ろ, dtype: object

# 商品名    ぶどう
# 値段     300
# Name: は, dtype: object

# 商品名    みかん
# 値段     400
# Name: に, dtype: object

# 商品名    すいか
# 値段     500
# Name: ほ, dtype: object
at を用いて値にアクセスする
for index, _ in df.iterrows():
    print(f"index : {index} 商品名 : {df.at[index, '商品名']} 値段 : {df.at[index, '値段']}円")

# index : い 商品名 : りんご 値段 : 100円
# index : ろ 商品名 : ばなな 値段 : 200円
# index : は 商品名 : ぶどう 値段 : 300円
# index : に 商品名 : みかん 値段 : 400円
# index : ほ 商品名 : すいか 値段 : 500円
iat を用いて値にアクセスする
name_index = df.columns.get_loc("商品名")
price_index = df.columns.get_loc("値段")

for index, _ in df.iterrows():
    num_index = df.index.get_loc(index)
    print(f"index : {index} num_index : {num_index} 商品名 : {df.iat[num_index, name_index]} 値段 : {df.iat[num_index, price_index]}円")

# index : い num_index : 0 商品名 : りんご 値段 : 100円
# index : ろ num_index : 1 商品名 : ばなな 値段 : 200円
# index : は num_index : 2 商品名 : ぶどう 値段 : 300円
# index : に num_index : 3 商品名 : みかん 値段 : 400円
# index : ほ num_index : 4 商品名 : すいか 値段 : 500円