回答編集履歴

1

コード追記

2020/03/05 00:23

投稿

jeanbiego
jeanbiego

スコア3966

test CHANGED
@@ -3,3 +3,69 @@
3
3
  とりあえず"ぶどう","メロン"がexcelに書き出されてないのはindex=None指定のせいです。このdfは品名がそのままindexになっているので、それを書き出さない設定にしているので当然書き出されません。
4
4
 
5
5
  index=None指定を外すと品名も書き出されます。
6
+
7
+
8
+
9
+ あるいは、下記のように品名をindexからデータ列に戻してあげて書き出すという操作もあります。こちらのほうがご希望に近いのでしょうか。
10
+
11
+
12
+
13
+ ```python3
14
+
15
+ import io
16
+
17
+ import pandas as pd
18
+
19
+
20
+
21
+ _table = """
22
+
23
+ 品名 出荷日 ランク
24
+
25
+ メロン 20160102 A
26
+
27
+ りんご 20160102 B
28
+
29
+ メロン 20160102 B
30
+
31
+ メロン 20160102 A
32
+
33
+ アップル 20160102 C
34
+
35
+ ぶどう 20160102 A
36
+
37
+ """
38
+
39
+
40
+
41
+ df_csv = pd.read_table(io.StringIO(_table), "\t")
42
+
43
+ df_onlyA=df_csv[df_csv.ランク == "A"]
44
+
45
+ df = pd.DataFrame(df_onlyA.groupby(['品名']).size(),columns=['数'])
46
+
47
+ print(df)
48
+
49
+ # 品名 数
50
+
51
+ # ぶどう 1
52
+
53
+ # メロン 2
54
+
55
+ df_rst = df.reset_index()
56
+
57
+ print(df_rst)
58
+
59
+ # 品名 数
60
+
61
+ # 0 ぶどう 1
62
+
63
+ # 1 メロン 2
64
+
65
+ EXL = "./test.xlsx"
66
+
67
+ df_rst.to_excel(EXL,"評価",index=None, header=None,startrow=4,startcol=1)
68
+
69
+ ```
70
+
71
+ ![出力excel](ae6107f52890e6ccbad6f4c721448767.png)