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

回答編集履歴

1

edit

2019/05/23 15:24

投稿

mkgrei
mkgrei

スコア8562

answer CHANGED
@@ -5,4 +5,26 @@
5
5
 
6
6
  ---
7
7
 
8
- ちなみに数字部分だけが異なるのであれば、正規表現を使うとよいです。
8
+ ちなみに数字部分だけが異なるのであれば、正規表現を使うとよいです。
9
+
10
+ ---
11
+
12
+ ```python
13
+ import pandas as pd
14
+ import io
15
+
16
+ s = '''作品名|著者|売上
17
+ 愛してる(1)|もぎ|100
18
+ 愛してる(1)|もぎ|200
19
+ 愛してる(2)|もぎ|300
20
+ 愛してる(2)|もぎ|400
21
+ 愛してる(3)|もぎ|500
22
+ 愛してる(3)|もぎ|600'''
23
+ s = s.replace('|', ',')
24
+ s = s.replace('|', ',')
25
+
26
+ df = pd.read_csv(io.StringIO(s), encoding="utf-8")
27
+
28
+ df = df.groupby(df["作品名"].str.extract('(\D*)(\d+)', expand=False), axis=0).sum()
29
+ print(df)
30
+ ```