locメソッドで実行結果が答えと異なるのですが、、。
解決策を教えてください。
jupyterlab
1df.loc['w'] 2↓ 3x 1 4col05 2 5col06 3 6Name: w, dtype: int64
模範解答 df.loc['w'] ↓ x 1 y 2 z 3 Name: w, dtype: int64
import pandas as pd ↓ df = pd.DataFrame ([[1,2,3], [4,5,6], [7,8,9]], columns=['col01', 'col02', 'col03'], index=['idx01', 'idx02', 'idx03']) df ↓ import numpy as np ↓ df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['col01', 'col02', 'col03'], index=['idx01', 'idx02','idx03']) df ↓ df.index ↓ df.columns ↓ df = pd.DataFrame({'col01':[1, 2, 3], 'col02':[4, 5, 6], 'col03':[7, 8, 9]}) df ↓ df = pd.DataFrame({'col01':[1, 2, 3], 'col02':[4, 5, 6], 'col03':[7, 8, 9]}) df.index=['idx01', 'idx02','idx03'] df ↓ df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) df ↓ df.columns=['col01','col02','col03'] df.index=['idx01','idx02','idx03'] ↓ df ↓ df.columns=['col04','col05','col06'] ↓ df ↓ df = df.rename(columns={'col04': 'x'}) df ↓ df = df.rename(index={'idx01': 'w'}) df ↓ df['x'] ↓ type(df['x']) ↓ df[['x']] ↓ type(df[['x']]) ↓ df.loc['w'] ↓ df.loc['w','z'] ↓ KeyError: 'z'
何故同じコードなのに違う結果になってしまうのでしょうか。
ご教授お願いいたします。
同じコードを別の環境で実行したら、結果が違うということでしょうか?
だとしたら、読み込んでるデータが違うのではないでしょうか?質問の情報からは原因がわからないので、コード全体を貼ってください
print(df.head())の結果を質問に追記してください。
すいません。返信に時間が経ってしまい。
ご返答お待ちしております。
よろしくお願いいたします。
print(df.head())
の実行結果は以下のようになります。。
x col05 col06
w 1 2 3
idx02 4 5 6
idx03 7 8 9
> locメソッドで実行結果が答えと異なるのですが、、。
どっちが質問者さんの実行結果でどっちが”答え”なのでしょうか?
また”答え”というのは何か問題の回答のことでしょうか?
記載内容を追記しました、ご確認くださいお願いいたします。
一番最初にい記載てあるコードが私の実行結果で、二番目に記載してあるコードが模範解答なのでが、見比べた際に、模範と結果が違いまして、質問させてもらいました。
また、print(df.head()) を実行しましたら、模範と同じ結果になりました。
そして、一番最後のコードはファイル全体のコードの流れになります。そして最後にキーエラーが出てしまいました。
問題はどんな問題ですか?
すいません。既に解決済みでした。
回答1件
あなたの回答
tips
プレビュー