質問編集履歴

2

実際のコード変更

2020/02/21 03:59

投稿

pon244
pon244

スコア59

test CHANGED
File without changes
test CHANGED
@@ -28,17 +28,35 @@
28
28
 
29
29
 
30
30
 
31
-
32
-
33
31
  df = pd.read_csv("test.csv", index_col=1)
34
32
 
35
33
  grp = df.groupby('Time period').sum()
36
34
 
37
-
38
-
39
35
  grp['E'] = grp['B'] * grp['D']
40
36
 
41
37
  grp['F'] = grp["B"] * grp["E"].
38
+
39
+
40
+
41
+ def conv( df, c):
42
+
43
+ df[c] = df[c].astype(int).apply('{:,}'.format)
44
+
45
+ #下記の[]の中の数字は手入力ですが、実際にはDataFrameの結果を入れたいです。どのように入れるのが適切でしょうか?
46
+
47
+ #grp = pd.DataFrame({'B':[200], 'C':[1000], 'E':[200000], 'F':[40000000]})
48
+
49
+ #For BCEFに関して実際にはアルファベットではなく、"SpendやInstall”などの名前が振られています。
50
+
51
+ どのように入れるのが適切でしょうか
52
+
53
+ for c in 'BCEF':
54
+
55
+ conv(grp, c)
56
+
57
+ print(grp)
58
+
59
+ # B C E
42
60
 
43
61
  grp.head(10)
44
62
 

1

修正

2020/02/21 03:59

投稿

pon244
pon244

スコア59

test CHANGED
File without changes
test CHANGED
@@ -36,36 +36,42 @@
36
36
 
37
37
 
38
38
 
39
- grp['CPI'] = grp['Spend'] / grp['Installs']
39
+ grp['E'] = grp['B'] * grp['D']
40
40
 
41
- grp['Share'] = grp["Spend"] / grp["Spend"].sum()
41
+ grp['F'] = grp["B"] * grp["E"].
42
-
43
- grp["Share"] = grp["Share"].map(lambda x: '{:.2%}'.format(x))
44
-
45
-
46
-
47
-
48
42
 
49
43
  grp.head(10)
50
-
51
-
52
-
53
-
54
44
 
55
45
  ```
56
46
 
57
47
 
58
48
 
49
+ 【結果】
50
+
51
+ |列1|列2|列3|列4|列5|列6|
52
+
53
+ |:--|:--:|--:|--:|--:|
54
+
55
+ |A|B|C|D|E|F
56
+
57
+ |11-Feb-2020 00:00|200|1000|1000|200000|40000000
58
+
59
+ 12-Feb-2020 00:00|100|1000|1000|100000|10000000
60
+
61
+ 13-Feb-2020 00:00|100|1000|1000|100000|10000000
62
+
63
+
64
+
59
65
  【欲しい結果】
60
66
 
61
- |列1|列2|列3|列4|
67
+ |列1|列2|列3|列4|列5|列6|
62
68
 
63
- |:--|:--:|--:|
69
+ |:--|:--:|--:|--:|--:|
64
70
 
65
- |A|B|C|D
71
+ |A|B|C|D|E|F
66
72
 
67
- 11-Feb-2020 00:00|2,000|2,000|57%
73
+ |11-Feb-2020 00:00|200|1,000|1,000|200,000|40,000,000
68
74
 
69
- 12-Feb-2020 00:00|1,000|2,000|28%
75
+ 12-Feb-2020 00:00|100|1,000|1,000|100,000|10,000,000
70
76
 
71
- 13-Feb-2020 00:00|5,000|2,500|14%
77
+ 13-Feb-2020 00:00|100|1,000|1,000|100,000|10,000,000