前提・実現したいこと
pandasを使ってcsvファイルを読み込み、ファイルの特定の列から特定の行だけを取り出すことは可能でしょうか?
調べたところ、特定の列の取り出し方は分かったのですが、更にその列の中から特定の行を取り出す方法については見つけられませんでした。
具体的には、csvファイルの"province"列から、"Seoul"と記載されている行だけ取り出したいと思っています。
発生している問題・エラーメッセージ
IndexingError Traceback (most recent call last) <ipython-input-129-386efe71cb8d> in <module>() 1 print(test['province'] == 'Gyeonggi-do') ----> 2 print(df[test['province'] == 'Gyeonggi-do']) IndexingError: Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match).
該当のソースコード
Python
1import pandas as pd 2import numpy as np 3 4df = pd.read_csv("data.csv") 5print(df.head) 6 7#学習:0~14行目まで、テスト:15~28行目まで 8train = df[0:15] 9test = df[15:29] 10 11#テストデータをprovinceごとに分ける 12print(test['province'] == 'Seoul')#bool値は表示される 13#15 False 14#16 False 15#17 False 16#18 False 17#19 True 18#20 True 19#21 False 20#22 False 21#23 False 22#24 True 23#25 True 24#26 True 25#27 True 26#28 False 27#Name: province, dtype: bool 28print(df[test['province'] == 'Seoul'])#うまくいかない
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/20 12:06