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

質問編集履歴

2

期待されるアウトプットについて追記

2020/10/07 12:35

投稿

Shiro.Shiro
Shiro.Shiro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- 以下のdataframe(実際には100行以上ある)に対し、ID(AAA100,BBB200など)で文字列検索をかけ、各IDに対応した5種の新しいdataframe(df_AAA100,df_BBB200,... の5種)に入れたいです。for文を使えば短いスクリプトで実施できるかと思いましたが、具体的にはどうすればよいかわかりませんでした
1
+ 以下のdataframe(実際には100行以上ある)に対し、ID(AAA100,BBB200など)で文字列検索をかけ、各IDに対応した5種の新しいdataframe(df_AAA100,df_BBB200,... の5種)に入れたいです(※期待されるアウト)
2
2
 
3
3
  ```
4
4
  import pandas as pd
@@ -16,7 +16,7 @@
16
16
  df.index = ['row0','row1','row2','row3','row4','row5']
17
17
  print(df)
18
18
 
19
- # 0 1 2 3 4
19
+ # c00 c01 c02 c03 c04
20
20
  #0 1 100 0.33 AAA AAA100
21
21
  #1 2 200 0.67 BBB BBB200
22
22
  #2 3 300 1.00 CCC CCC300
@@ -24,4 +24,35 @@
24
24
  #4 5 500 1.67 EEE EEE500
25
25
  #5 6 600 2.00 FFF FFF600
26
26
  コード
27
+ ```
28
+
29
+ ※期待されるアウトプット
30
+ 下記dataframeはdf_AAA100 = df[df["c04"] == "AAA100"]のように、それぞれでスクリプトを書けば
31
+ 作成されると思いますが、for文で数行でまとめて実行することはできませんでしょうか。
32
+
33
+ ```
34
+ print(df_AAA100)
35
+ # 0 1 2 3 4
36
+ #0 1 100 0.33 AAA AAA100
37
+
38
+ print(df_BBB200)
39
+ # 0 1 2 3 4
40
+ #0 2 200 0.67 BBB BBB200
41
+
42
+ print(df_CCC300)
43
+ # 0 1 2 3 4
44
+ #0 3 300 1.00 CCC CCC300
45
+
46
+ print(df_DDD400)
47
+ # 0 1 2 3 4
48
+ #0 4 400 1.33 DDD DDD400
49
+
50
+ print(df_EEE500)
51
+ # 0 1 2 3 4
52
+ #0 5 500 1.67 EEE EEE500
53
+
54
+ print(df_FFF600)
55
+ # 0 1 2 3 4
56
+ #0 6 600 2.00 FFF FFF600
57
+ コード
27
58
  ```

1

コードの記法を訂正した。

2020/10/07 12:35

投稿

Shiro.Shiro
Shiro.Shiro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
1
  以下のdataframe(実際には100行以上ある)に対し、ID(AAA100,BBB200など)で文字列検索をかけ、各IDに対応した5種の新しいdataframe(df_AAA100,df_BBB200,... の5種)に入れたいです。for文を使えば短いスクリプトで実施できるかと思いましたが、具体的にはどうすればよいかわかりませんでした。
2
2
 
3
+ ```
3
4
  import pandas as pd
4
5
 
5
6
  list = [
@@ -21,4 +22,6 @@
21
22
  #2 3 300 1.00 CCC CCC300
22
23
  #3 4 400 1.33 DDD DDD400
23
24
  #4 5 500 1.67 EEE EEE500
24
- #5 6 600 2.00 FFF FFF600
25
+ #5 6 600 2.00 FFF FFF600
26
+ コード
27
+ ```