日付でグループのエントリにして計算し、私は、次の生データ持っ方法:各日付のパーセント
df =
MONTH DAY ID GROUP
1 1 222 1
1 1 111 2
1 2 333 2
...
12 1 XXS 1
を、私は1
に等しいGroup
を持つエントリの割合をcalcuateする必要があります。私はこのことから続行する方法がわからないので、私はこれを試してみましたが、それは期待される結果を与えるものではありません
date,percent
01/01/16,50
02/01/16,0
...
:結果は次の形式(日付はdd/mm/yy
する必要があります)で新しいデータフレームでなければなりませんポイント。
new_df = df.groupby(['MONTH', 'DAY']).agg(['count'])
UPDATE:
プリント(df.types)は、次の出力を与える形式dd/mm/yy
で単一の列にdate
を渡す方法とGROUP == 1
を持つエントリの割合を計算する方法がわかりません:
MONTH float64
DAY float64
GROUP float64
ID object
date datetime64[ns]
これは本当データのサンプルです
MONTH DAY GROUP ID date
1.0 4.0 2.0 00085163 2016-01-04
1.0 4.0 1.0 000F9334 2016-01-04
1.0 4.0 2.0 002744A2 2016-01-04
1.0 4.0 2.0 00337BB1 2016-01-04
1.0 4.0 2.0 00374DE5 2016-01-04
感謝。私はあなたの解決策を試しました。 1つの質問:何らかの理由で私は '%'を常に0にします。しかし、私が '.agg(['count'])'を実行すると3000、2500などの値を見ることができます。パーセントを計算するときに表示されます( 'x.count()'は確かに非ゼロです)? – Dinosaurius
@Dinosauriusは、 'GROUP == 1 'のエントリがないことを意味します。 – MaxU
面白いのは、' GROUP'を2に変更しようとしたことです( '1'と' 2')すべてのエントリについて、パーセントを0に戻します。 – Dinosaurius