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

回答編集履歴

1

追記

2021/02/02 02:48

投稿

jeanbiego
jeanbiego

スコア3966

answer CHANGED
@@ -1,2 +1,39 @@
1
1
  実現したいことというのは、下記URLのようなことでしょうか。
2
- [pandasでカテゴリ変数をダミー変数に変換(get_dummies)](https://note.nkmk.me/python-pandas-get-dummies/)
2
+ [pandasでカテゴリ変数をダミー変数に変換(get_dummies)](https://note.nkmk.me/python-pandas-get-dummies/)
3
+
4
+ ```python3
5
+ import io
6
+ import pandas as pd
7
+ data = """name type
8
+ 0 A east
9
+ 1 B west
10
+ 2  C east
11
+ 3 A middle
12
+ 4 A west
13
+ 5  C east"""
14
+
15
+ df = pd.read_table(io.StringIO(data), delimiter="\s+")
16
+ print(df)
17
+ # name type
18
+ # 0 A east
19
+ # 1 B west
20
+ # 2  C east
21
+ # 3 A middle
22
+ # 4 A west
23
+ # 5  C east
24
+ new_df = pd.concat([df,pd.get_dummies(df['type'])],axis=1)
25
+ print(new_df)
26
+ # name type east middle west
27
+ # 0 A east 1 0 0
28
+ # 1 B west 0 0 1
29
+ # 2  C east 1 0 0
30
+ # 3 A middle 0 1 0
31
+ # 4 A west 0 0 1
32
+ # 5  C east 1 0 0
33
+ sum_df = pd.DataFrame(new_df.groupby(["name"]).sum().reset_index())
34
+ print(sum_df)
35
+ # name east middle west
36
+ # 0 A 1 1 1
37
+ # 1 B 0 0 1
38
+ # 2  C 2 0 0
39
+ ```