目次
列名・行名から列番号・行番号を取得する方法
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円