回答編集履歴
1
修正・追記
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
|