私が Pandas でやろうとしている SQL と Excel で通常行うことはたくさんあります。ここにはいくつかの異なるラングリングの問題があり、それらはすべて同じ目標を持っているため、1 つの質問にまとめられています。
Python に 3 つの列を持つデータ フレーム df があります。
| EventID | PictureID | Date
0 | 1 | A | 2010-01-01
1 | 2 | A | 2010-02-01
2 | 3 | A | 2010-02-15
3 | 4 | B | 2010-01-01
4 | 5 | C | 2010-02-01
5 | 6 | C | 2010-02-15
EventID は一意です。PictureID は一意ではありませんが、PictureID + Date は異なります。
I. まず、新しい列を追加します。
df['period'] = the month and year that the event falls into beginning 2010-01.
Ⅱ.次に、データを、特定の期間内の特定の PictureID のイベント数をカウントする新しいデータフレームに「溶解」したいと考えています。ピリオドが 2 つだけの例を使用します。
| PictureID | Period | Count
0 | A | 2010-01 | 1
1 | A | 2010-02 | 2
2 | B | 2010-01 | 1
3 | C | 2010-02 | 2
次に、この新しいデータ フレームを、すべての一意の PictureID の期間カウントを提供するものにスタック (?) できるようにします。
| PictureID | 2010-01 | 2010-02
0 | A | 1 | 2
1 | B | 1 | 0
2 | C | 0 | 2
私の感覚では、パンダはこの種のことを簡単に行えるように作られていますが、それは正しいですか?
[編集: 混乱した 3 番目の部分を削除しました。]