回答編集履歴

1

修正・追記

2021/02/14 23:27

投稿

bsdfan
bsdfan

スコア4731

test CHANGED
@@ -1,12 +1,16 @@
1
1
  pandasの`df[xxx]`は、多くの場合はcolumnに対する選択になるのですが、`xxx`がbooleanの配列の場合は、rowに対する選択として機能します。
2
2
 
3
- リファレンス([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
+ リファレンス([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)あたり)に、書いてあります。
4
4
 
5
5
  (そのほかにも、たとえば`xxx`がスライスの場合もrowに対する選択です。)
6
6
 
7
7
 
8
8
 
9
- なので、行数と `train_X.dtypes == 'category'` の要素数があっていないことになり、そのエラーになっています。
9
+ ~~なので、行数と `train_X.dtypes == 'category'` の要素数があっていないことになり、そのエラーになっています。~~
10
+
11
+ 今回は配列ではなくSeriesを渡しているので、DataFrame(`train_X`)のインデックスと、Series(`train_X.dtypes == 'category'`)のインデックスの一致もチェックされます。
12
+
13
+ 両者のインデックスがあっていないというエラーです。
10
14
 
11
15
 
12
16