回答編集履歴
1
コード追記
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)
|