回答編集履歴

2

追加に対する回答

2021/03/19 13:19

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -41,3 +41,63 @@
41
41
  (5, 0.5)
42
42
 
43
43
  ```
44
+
45
+
46
+
47
+ やりたいことが完全には分かりませんが、以下を参考にして考えてみてください。
48
+
49
+
50
+
51
+ ```python
52
+
53
+ >>> print(df)
54
+
55
+ hoge fuga value1 value2 value3 value4
56
+
57
+ 0 0.1 a 150 0 0 0
58
+
59
+ 1 0.2 b 130 0 0 0
60
+
61
+ 2 0.3 c 120 0 0 0
62
+
63
+ 3 0.4 d 90 0 0 0
64
+
65
+ 4 0.5 e 70 0 0 0
66
+
67
+ 5 0.1 a 300 0 0 0
68
+
69
+ >>> print(datas)
70
+
71
+ {1: 0.1, 2: 0.2, 5: 0.5}
72
+
73
+ >>> for key, value in datas.items():
74
+
75
+ ... if (df['hoge'] == value).any():
76
+
77
+ ... print(f"key = {key}")
78
+
79
+ ... print(df[df['hoge'] == value]['value1'])
80
+
81
+ ...
82
+
83
+ key = 1
84
+
85
+ 0 150
86
+
87
+ 5 300
88
+
89
+ Name: value1, dtype: int64
90
+
91
+ key = 2
92
+
93
+ 1 130
94
+
95
+ Name: value1, dtype: int64
96
+
97
+ key = 5
98
+
99
+ 4 70
100
+
101
+ Name: value1, dtype: int64
102
+
103
+ ```

1

説明追加

2021/03/19 13:19

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -23,3 +23,21 @@
23
23
  ```
24
24
 
25
25
  この構文で返ってくるのは、keyとvalueのタプルではなく、keyだけだからです。
26
+
27
+ keyとvalueのタプルが必要なら、以下のようにしてください。
28
+
29
+ ```python
30
+
31
+ >>> for x in datas.items():
32
+
33
+ ... print(x)
34
+
35
+ ...
36
+
37
+ (1, 0.1)
38
+
39
+ (2, 0.2)
40
+
41
+ (5, 0.5)
42
+
43
+ ```