回答編集履歴
2
追記
answer
CHANGED
@@ -23,4 +23,56 @@
|
|
23
23
|
条件式を修正した場合でも、elifを使用しないとresが4と5のみになってしまいます。
|
24
24
|
ifの使い方と条件式の書き方を学びましょう。
|
25
25
|
|
26
|
-
[Pythonのif文による条件分岐の書き方](https://note.nkmk.me/python-if-elif-else/)
|
26
|
+
[Pythonのif文による条件分岐の書き方](https://note.nkmk.me/python-if-elif-else/)
|
27
|
+
|
28
|
+
---
|
29
|
+
【追記】
|
30
|
+
手元で試した結果を追記します。こちらでは問題なさそうです。
|
31
|
+
```Python
|
32
|
+
import pandas as pd
|
33
|
+
|
34
|
+
meal = pd.DataFrame({'meal_id':['1558','1778','1109','1885','1000','2581','1962','2290','2539','2707','1993','2664']})
|
35
|
+
print(meal)
|
36
|
+
# meal_id
|
37
|
+
#0 1558
|
38
|
+
#1 1778
|
39
|
+
#2 1109
|
40
|
+
#3 1885
|
41
|
+
#4 1000
|
42
|
+
#5 2581
|
43
|
+
#6 1962
|
44
|
+
#7 2290
|
45
|
+
#8 2539
|
46
|
+
#9 2707
|
47
|
+
#10 1993
|
48
|
+
#11 2664
|
49
|
+
|
50
|
+
def meal_cluster(x):
|
51
|
+
if x["meal_id"] == "1558" or x["meal_id"] == "2581" or x["meal_id"] == "2707":
|
52
|
+
res = 1
|
53
|
+
elif x["meal_id"] == "1778" or x["meal_id"] == "1962" or x["meal_id"] == "1993":
|
54
|
+
res = 2
|
55
|
+
elif x["meal_id"] == "1109" or x["meal_id"] == "2290" or x["meal_id"] == "2664":
|
56
|
+
res = 3
|
57
|
+
elif x["meal_id"] == "1885" or x["meal_id"] == "2539":
|
58
|
+
res = 4
|
59
|
+
else:
|
60
|
+
res = 5
|
61
|
+
return res
|
62
|
+
|
63
|
+
meal["meal_cluster"] = meal.apply(meal_cluster, axis=1)
|
64
|
+
print(meal)
|
65
|
+
# meal_id meal_cluster
|
66
|
+
#0 1558 1
|
67
|
+
#1 1778 2
|
68
|
+
#2 1109 3
|
69
|
+
#3 1885 4
|
70
|
+
#4 1000 5
|
71
|
+
#5 2581 1
|
72
|
+
#6 1962 2
|
73
|
+
#7 2290 3
|
74
|
+
#8 2539 4
|
75
|
+
#9 2707 1
|
76
|
+
#10 1993 2
|
77
|
+
#11 2664 3
|
78
|
+
```
|
1
訂正
answer
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
meal.head()
|
21
21
|
```
|
22
22
|
|
23
|
-
条件式を修正した場合でも、elifを使用しないとresが4と5のみになってしま
|
23
|
+
条件式を修正した場合でも、elifを使用しないとresが4と5のみになってしまいます。
|
24
24
|
ifの使い方と条件式の書き方を学びましょう。
|
25
25
|
|
26
26
|
[Pythonのif文による条件分岐の書き方](https://note.nkmk.me/python-if-elif-else/)
|