CSVファイルの一つの行から複数の値を抜き出して比較したいです。
Python3
1import pandas as pd 2 3df = pd.read_csv("file.csv", header=None) 4df.iloc[0, [1, 2]] == df.iloc[0, [3, 4]] # df.iloc[0, 3, 4]]となっていたものを修正しました
以上のようにiloc
を使用して、一行から複数の値を取り出して比較してみたところ、以下のエラーが出ました。
raise ValueError("Can only compare identically-labeled " ValueError: Can only compare identically-labeled Series objects
上記でiloc
で選択した値をそれぞれ表示させてみると、iat
などで選択するときとは異なり、それぞれの値に加えてName: 0, dtype: object
といったものまで表示されてしまいます。
それがiloc
の動き方としては正しいのだとは思うのですが、上記のように一行から複数の値を抜き出して比較したい場合はどのようにすればよいのでしょうか?
Python3
1(df.iat[0, 1], df.iat[0, 2]) == (df.iat[0, 3], df.iat[0, 4])
これで判定できているのでそれでもいいのかとは思うのですが、もっと効率的な操作方法はないのでしょうか?
ご教示いただけますと幸いです。よろしくお願いいたします。
一番上のコードの三行目で、df.iloc[0, 3, 4]]
となっていたものを修正しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/02 01:50