回答編集履歴
1
修正
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
`df.query("kind==@fruit")` の返り値は `df` とは別
|
1
|
+
`df.query("kind==@fruit")` の返り値は `df` とは実態が別のコピーです。
|
2
2
|
そのコピーにたいして、`df.query("kind==@fruit").loc[:, "number"] += df2.query("kind==@fruit").sum()["number"]` としても変更されているのは `query()` が返したコピーであり、元の `df` には影響しません。
|
3
3
|
|
4
|
-
`pandas` のほとんどの関数はコピーを返すようになっていて、元の DataFrame は変更され
|
4
|
+
`pandas` のほとんどの関数はコピーを返すようになっていて、元の DataFrame は変更されません。(一部の関数は inplace=True を指定すると元の DataFrame が変更されます。)
|
5
5
|
|
6
6
|
その点を踏まえて修正すると、以下のようになります。
|
7
7
|
|