1
interactions_df = interactions[interactions['interaction_type'].isin([1,2,3])]
私はinteraction_dfデータフレームを持っています。これは、印刷時に表示されるように:私はこの結果を得たデータフレームへのPandas GroupByオブジェクト、コンマ区切りファイルにデータを格納
grouped = interactions_df.groupby(['item_id', 'user_id']).count()
print(grouped)
:
item_id user_id interaction_type created_at
405777 2690450 1 1
2081252 1 1
805572 2081252 1 1
1180447 2690450 1 1
1266442 732722 1 1
1803133 2690450 1 1
2651366 687093 1 1
2668706 1974005 1 1
を今すぐ
今user_id item_id interaction_type created_at
1974005 2668706 1 1444154047
2690450 405777 1 1445338496
2690450 1180447 1 1444806365
2690450 1803133 1 1440480562
2081252 405777 1 1442346826
2081252 805572 1 1441286115
732722 1266442 1 1446745768
687093 2651366 1 1445373507
'ITEM_ID' と 'user_idの' などにこのデータをグループ化する簡単なことで私は必要なのcsvファイルで私のデータを格納することですが、この形式で
item_id user_id
405777 2690450, 2081252
805572 2081252
1180447 2690450
1266442 732722
1803133 2690450
2651366 687093
2668706 1974005
単一の項目に対して複数のユーザーが存在する場合、私はカンマ区切りリストとちょうどこれらの2列は、他の情報またはカウントでそれを必要とします。
どうすればこの問題を解決できますか?提案してください。
ありがとうございました。
おかげで、あなたの提案は自分のデータに対して完璧に機能しました。しかし、あなたは私に少し説明することができますか、それはどのように動作するのですか? – ssh26
reset_index()はどのように機能しましたか?そして作品をリセットする方法grouped.groupby( 'ITEM_ID')[ 'user_idの']一部 – ssh26
は、より良い(http://pandas.pydata.org/pandas-docs/stable/indexing.html#reset- [ここ]ドキュメントで説明していますインデックス)。また、 'apply'は、ある関数でデータを集約しています。明らかに 'sum'または' mean'ですが、いくつかの関数をパラメータで使うことができます。次に、匿名関数 'lambda'を使用します。私は最高のは、 'groupby'は[こちら](http://wesmckinney.com/blog/groupby-fu-improvements-in-grouping-and-aggregating-data-in-pandas/)で説明したと思います。 – jezrael