ধরা যাক আমার কাছে ব্যবহারকারীর ক্রিয়াকলাপের লগ রয়েছে এবং আমি মোট সময়কাল এবং প্রতিদিন অনন্য ব্যবহারকারীর সংখ্যা তৈরি করতে চাই।
import numpy as np
import pandas as pd
df = pd.DataFrame({'date': ['2013-04-01','2013-04-01','2013-04-01','2013-04-02', '2013-04-02'],
'user_id': ['0001', '0001', '0002', '0002', '0002'],
'duration': [30, 15, 20, 15, 30]})
সমষ্টি সময়কাল বেশ সহজবোধ্য:
group = df.groupby('date')
agg = group.aggregate({'duration': np.sum})
agg
duration
date
2013-04-01 65
2013-04-02 45
আমি যা করতে চাই তা হ'ল সময়কাল এবং গণনা একই সাথে আলাদা হয় তবে আমি গণনা_দলের জন্য কোনও সমতুল্য খুঁজে পেতে পারি না:
agg = group.aggregate({ 'duration': np.sum, 'user_id': count_distinct})
এটি কাজ করে, তবে অবশ্যই এর থেকে আরও ভাল উপায় আছে, না?
group = df.groupby('date')
agg = group.aggregate({'duration': np.sum})
agg['uv'] = df.groupby('date').user_id.nunique()
agg
duration uv
date
2013-04-01 65 2
2013-04-02 45 1
আমি ভাবছি আমাকে কেবল একটি ক্রিয়াকলাপ সরবরাহ করতে হবে যা সিরিজ অবজেক্টের স্বতন্ত্র আইটেমগুলির গণনা সামগ্রিক ফাংশনে ফিরিয়ে দেয়, তবে আমার কাছে বিভিন্ন লাইব্রেরিতে আমার প্রচুর এক্সপোজার নেই। এছাড়াও, মনে হচ্ছে গোষ্ঠীযুক্ত বস্তুটি ইতিমধ্যে এই তথ্যটি জানে, তাই আমি কী কেবল নকল করার চেষ্টা করব না?