前提・実現したいこと
python3.8でExcelの出庫履歴表から日に合計何個消費したかを表す統計表を作ろうとしていて,最終的に備品一つ一つの使用状況を日ごとにまとめたいと考えています。
現在データを備品の種類ごとにfilterで取り出すまではできましたが,そのデータを更に日付別に分けて同じ日付の消費個数を計算するところで滞っています。
python初心者のため,お力を貸していただければ幸いです。
↓出庫履歴の表.xlsx
備品名 | 備品個数 | 消費個数 | 日付 |
---|---|---|---|
fff | 265 | 1 | 2021-01-13 |
eee | 261 | 1 | 2021-01-13 |
ddd | 261 | 1 | 2021-01-13 |
ccc | 225 | 1 | 2021-01-13 |
bbb | 227 | 1 | 2021-01-13 |
aaa | 148 | 1 | 2021-01-13 |
fff | 266 | 1 | 2021-01-12 |
eee | 262 | 2 | 2021-01-12 |
ddd | 262 | 1 | 2021-01-12 |
ccc | 226 | 1 | 2021-01-12 |
bbb | 228 | 1 | 2021-01-12 |
aaa | 149 | 1 | 2021-01-12 |
fff | 267 | 2 | 2021-01-12 |
eee | 264 | 1 | 2021-01-12 |
ddd | 264 | 1 | 2021-01-12 |
ccc | 299 | 1 | 2021-01-12 |
bbb | 299 | 1 | 2021-01-12 |
aaa | 298 | 2 | 2021-01-12 |
fff | 269 | 1 | 2021-01-08 |
eee | 265 | 1 | 2021-01-08 |
ddd | 265 | 1 | 2021-01-08 |
ccc | 227 | 1 | 2021-01-08 |
bbb | 229 | 2 | 2021-01-08 |
aaa | 150 | 1 | 2021-01-08 |
fff | 270 | 1 | 2021-01-08 |
eee | 266 | 2 | 2021-01-08 |
ddd | 266 | 1 | 2021-01-08 |
ccc | 228 | 2 | 2021-01-08 |
bbb | 231 | 2 | 2021-01-08 |
aaa | 151 | 1 | 2021-01-08 |
fff | 271 | 1 | 2021-01-08 |
eee | 268 | 2 | 2021-01-08 |
ddd | 268 | 1 | 2021-01-08 |
ccc | 230 | 2 | 2021-01-08 |
bbb | 233 | 1 | 2021-01-08 |
aaa | 152 | 2 | 2021-01-08 |
fff | 272 | 1 | 2021-01-07 |
eee | 270 | 1 | 2021-01-07 |
ddd | 270 | 1 | 2021-01-07 |
ccc | 232 | 1 | 2021-01-07 |
bbb | 234 | 1 | 2021-01-07 |
aaa | 154 | 1 | 2021-01-07 |
fff | 273 | 1 | 2021-01-07 |
eee | 271 | 2 | 2021-01-07 |
ddd | 271 | 1 | 2021-01-07 |
ccc | 233 | 1 | 2021-01-07 |
bbb | 235 | 1 | 2021-01-07 |
aaa | 155 | 1 | 2021-01-07 |
aaa | 156 | 2 | 2021-01-07 |
発生している問題・エラーメッセージ
コードを実行すると以下のようにaaaだけを取り出すことはできますが,その中で日付ごとに分けることができません。
出庫履歴の表.xlsxは実際に別プログラムを実行したときに履歴を随時上から追記するという表のため,明確な日付を定義してグループ分けすることができません。
日付が更新されていく場合のグループ分けの方法を調べてもわかりませんでした。
terminal
1 備品名 備品個数 消費個数 日付 25 aaa 148 1 2021-01-13 311 aaa 149 1 2021-01-12 417 aaa 298 2 2021-01-12 523 aaa 150 1 2021-01-08 629 aaa 151 1 2021-01-08 735 aaa 152 2 2021-01-08 841 aaa 154 1 2021-01-07 947 aaa 155 1 2021-01-07 1048 aaa 156 2 2021-01-07
該当のソースコード
import pandas as pd df = pd.read_excel('出庫履歴の表.xlsx', sheet_name='Sheet1') filter_contents = df['備品名'].values == 'aaa' print(df[filter_contents])
試したこと
以下のように条件分岐を使おうとしましたが,日付指定が難しいためできませんでした。
if 条件式A(備品名が等しい) & 条件式B(日付が等しい)
Pythonをはじめて日は浅く,知識不足ゆえお手柔らかにご教示お願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/14 08:05
2021/01/14 08:14
2021/01/18 01:27 編集