回答編集履歴
2
追記
answer
CHANGED
@@ -1,3 +1,18 @@
|
|
1
1
|
`df = df[filter_sc]`で元の`df`が上書きされているためです。
|
2
2
|
`df2 = df[filter_sc].copy()`のように別の`df2`で(念のためコピーして)処理するとよいでしょう。
|
3
3
|
あと、リストそのままではなくsetにして重複を取り除いたものをforで回したほうが目的に合っていると思います。
|
4
|
+
```Python
|
5
|
+
import pandas as pd
|
6
|
+
|
7
|
+
df = pd.DataFrame({'SC':[1,1,2],'Val':[1,2,3]})
|
8
|
+
|
9
|
+
for meigara in set(df['SC'].to_list()):
|
10
|
+
filter_sc = df['SC'] == meigara
|
11
|
+
df2 = df[filter_sc].copy()
|
12
|
+
print(df2)
|
13
|
+
|
14
|
+
# あるいはたんに以下でよい
|
15
|
+
for meigara, df2 in df.groupby('SC'):
|
16
|
+
print(meigara)
|
17
|
+
print(df2)
|
18
|
+
```
|
1
追記
answer
CHANGED
@@ -1,2 +1,3 @@
|
|
1
1
|
`df = df[filter_sc]`で元の`df`が上書きされているためです。
|
2
2
|
`df2 = df[filter_sc].copy()`のように別の`df2`で(念のためコピーして)処理するとよいでしょう。
|
3
|
+
あと、リストそのままではなくsetにして重複を取り除いたものをforで回したほうが目的に合っていると思います。
|