0

私は次のデータフレームを持っています:

df = pd.DataFrame({
'Trader': 'Carl Mark Carl Joe Mark Carl Max Max'.split(),
'Share': list('ABAABAAA'),
'Quantity': [5,2,5,10,1,5,2,1]
}, index=[
    DT.datetime(2013,1,1,13,0),
    DT.datetime(2013,1,1,13,5),
    DT.datetime(2013,1,1,20,0),
    DT.datetime(2013,1,2,10,0),
    DT.datetime(2013,1,2,12,0),                                      
    DT.datetime(2013,1,2,14,0),
    DT.datetime(2013,6,2,14,0),
    DT.datetime(2013,7,2,14,0),
    ])

具体的な日から抽象化された期間オブジェクトを毎日作成することは可能ですか。サンプルのトレーダーの間で取引量が少ない傾向があるかどうかという質問を評価したいと思います。

そのために、次のようなテーブルを作成したいと思います。

Period | Trader | Quantity
--------------------------
1      | Carl   | 10
1      | Mark   | 2
1      | Joe    | 10
1      | Max    | 2
2      | Carl   | 5
2      | Mark   | 1
2      | Max    | 1

アンディ

アップデート:

上記の Datasample は単純すぎて、私の問題を示すことができませんでした。具体的な日付から抽象化された期間オブジェクトを作成したいと考えています。私の目標は、トレーダーごとに発生した取引のシーケンスを比較することです。

df1 = pd.DataFrame({
'Trader': 'Carl Mark Carl Joe Mark Carl Max Max'.split(),
'Share': list('ABAABAAA'),
'Quantity': [5,2,5,10,1,5,2,1]
}, index=[
    DT.datetime(2013,1,1,13,0),
    DT.datetime(2013,1,1,13,5),
    DT.datetime(2013,1,1,20,0),
    DT.datetime(2013,2,6,10,0),
    DT.datetime(2013,2,5,12,0),                                      
    DT.datetime(2013,3,7,14,0),
    DT.datetime(2013,6,4,14,0),
    DT.datetime(2013,7,4,14,0),
    ])
4

1 に答える 1

0

これにより、テーブルが取得されます

In [22]: x = df.reset_index()

In [23]: x['day'] = x['index'].apply(lambda x: x.day)

In [24]: x
Out[24]: 
                index  Quantity Share Trader  day
0 2013-01-01 13:00:00         5     A   Carl    1
1 2013-01-01 13:05:00         2     B   Mark    1
2 2013-01-01 20:00:00         5     A   Carl    1
3 2013-01-02 10:00:00        10     A    Joe    2
4 2013-01-02 12:00:00         1     B   Mark    2
5 2013-01-02 14:00:00         5     A   Carl    2
6 2013-06-02 14:00:00         2     A    Max    2
7 2013-07-02 14:00:00         1     A    Max    2

しかし、これはおそらくあなたが望むものです

In [25]: x.groupby(['day','Trader']).sum()
Out[25]: 
            Quantity
day Trader          
1   Carl          10
    Mark           2
2   Carl           5
    Joe           10
    Mark           1
    Max            3
于 2013-05-18T23:26:29.397 に答える