これは OP の質問に対する回答ではありませんが、非常に役立つと思われるShikharDua の回答を説明するおもちゃの例です。
このフラグメントは些細なことですが、実際のデータには 1,000 の行と多数の列があり、異なる列でグループ化し、複数のターゲット列に対して以下の統計を実行できるようにしたいと考えていました。そのため、一度に 1 行ずつデータ フレームを構築するための信頼できる方法があると、非常に便利でした。ありがとうシカールドゥア!
import pandas as pd
BaseData = pd.DataFrame({ 'Customer' : ['Acme','Mega','Acme','Acme','Mega','Acme'],
'Territory' : ['West','East','South','West','East','South'],
'Product' : ['Econ','Luxe','Econ','Std','Std','Econ']})
BaseData
columns = ['Customer','Num Unique Products', 'List Unique Products']
rows_list=[]
for name, group in BaseData.groupby('Customer'):
RecordtoAdd={} #initialise an empty dict
RecordtoAdd.update({'Customer' : name}) #
RecordtoAdd.update({'Num Unique Products' : len(pd.unique(group['Product']))})
RecordtoAdd.update({'List Unique Products' : pd.unique(group['Product'])})
rows_list.append(RecordtoAdd)
AnalysedData = pd.DataFrame(rows_list)
print('Base Data : \n',BaseData,'\n\n Analysed Data : \n',AnalysedData)