teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

修正・追記

2021/02/14 23:27

投稿

bsdfan
bsdfan

スコア4925

answer CHANGED
@@ -1,8 +1,10 @@
1
1
  pandasの`df[xxx]`は、多くの場合はcolumnに対する選択になるのですが、`xxx`がbooleanの配列の場合は、rowに対する選択として機能します。
2
- リファレンス([https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#boolean-indexing](https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#boolean-indexing))あたりに、書いてあります。
2
+ リファレンス([https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#boolean-indexing](https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#boolean-indexing)あたり)に、書いてあります。
3
3
  (そのほかにも、たとえば`xxx`がスライスの場合もrowに対する選択です。)
4
4
 
5
- なので、行数と `train_X.dtypes == 'category'` の要素数があっていないことになり、そのエラーになっています。
5
+ ~~なので、行数と `train_X.dtypes == 'category'` の要素数があっていないことになり、そのエラーになっています。~~
6
+ 今回は配列ではなくSeriesを渡しているので、DataFrame(`train_X`)のインデックスと、Series(`train_X.dtypes == 'category'`)のインデックスの一致もチェックされます。
7
+ 両者のインデックスがあっていないというエラーです。
6
8
 
7
9
  対策としては、
8
10
  ```python