回答編集履歴

1

edit

2019/05/23 15:24

投稿

mkgrei
mkgrei

スコア8560

test CHANGED
@@ -13,3 +13,47 @@
13
13
 
14
14
 
15
15
  ちなみに数字部分だけが異なるのであれば、正規表現を使うとよいです。
16
+
17
+
18
+
19
+ ---
20
+
21
+
22
+
23
+ ```python
24
+
25
+ import pandas as pd
26
+
27
+ import io
28
+
29
+
30
+
31
+ s = '''作品名|著者|売上
32
+
33
+ 愛してる(1)|もぎ|100
34
+
35
+ 愛してる(1)|もぎ|200
36
+
37
+ 愛してる(2)|もぎ|300
38
+
39
+ 愛してる(2)|もぎ|400
40
+
41
+ 愛してる(3)|もぎ|500
42
+
43
+ 愛してる(3)|もぎ|600'''
44
+
45
+ s = s.replace('|', ',')
46
+
47
+ s = s.replace('|', ',')
48
+
49
+
50
+
51
+ df = pd.read_csv(io.StringIO(s), encoding="utf-8")
52
+
53
+
54
+
55
+ df = df.groupby(df["作品名"].str.extract('(\D*)(\d+)', expand=False), axis=0).sum()
56
+
57
+ print(df)
58
+
59
+ ```