私はユーザーの取引をパンダのリストに集約したいと思います。私は、複数のフィールドで構成されるリストを作成する方法を理解できません。私はパンダ:groupby列Aと他の列からのタプルのリストを作成しますか?
print(df.groupby('user')['time'].apply(list))
をすれば、私は
をすれば、私はuser
1 [20, 10]
2 [11, 18]
3 [15]
しかしを取得
amount time user
0 10.99 20 1
1 4.99 10 1
2 2.99 11 2
3 1.99 18 2
4 10.99 15 3
のように見えます。例えば、
df = pd.DataFrame({'user':[1,1,2,2,3],
'time':[20,10,11,18, 15],
'amount':[10.99, 4.99, 2.99, 1.99, 10.99]})
私は以下の回答に
user
1 [time, amount]
2 [time, amount]
3 [time, amount]
おかげで、私は
amount time
user
1 [10.99, 4.99] [20, 10]
2 [2.99, 1.99] [11, 18]
3 [10.99] [15]
を取得するには、この
df.groupby('user').agg(lambda x: x.tolist()))
を行うことができます学んだが、私がしたいつもり取得
df.groupby('user')[['time', 'amount']].apply(list)
並べ替え時間と金額を同じ順序で並べ替えることができます。
私はこれを製造するための方法を探していました:
amount-time-tuple
user
1 [(20, 10.99), (10, 4.99)]
2 [(11, 2.99), (18, 1.99)]
3 [(15, 10.99)]
多分「tupling」せずに2つの列を並べ替えを行う方法はありますか?
を探していると思います.I値は、あなたの希望のデータセットを投稿することができない、一連の指標を検討しますか? – MaxU