我的熊猫数据框为
'multies/{id}/tenties/{id}'
我使用以下代码收集每个用户的所有成果-
import pandas as pd
from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
# load sample data
df = pd.DataFrame( {'user_id':['1','1','2','2','2','3'], 'fruits':['banana','orange','orange','apple','banana','mango']})
获得此列表后,我将执行multilabel-binarizer操作,以将该列表转换为1或0
# collect fruits for each user
transformed_df= df.groupby('user_id').agg({'fruits':lambda x: list(x)}).reset_index()
print(transformed_df)
user_id fruits
0 1 [banana, orange]
1 2 [orange, apple, banana]
2 3 [mango]
现在,我有一个要求,给我的输入数据帧为# perform MultiLabelBinarizer
final_df = transformed_df.join(pd.DataFrame(mlb.fit_transform(transformed_df.pop('fruits')),columns=mlb.classes_,index=transformed_df.index))
print(final_df)
user_id apple banana mango orange
0 1 0 1 0 1
1 2 1 1 0 1
2 3 0 0 1 0
,我需要取回final_df
,其中包含每个用户的transformed_df
列表。 / p>
假设我有fruits
作为输入数据框,我怎么能把这个transformed_df
取回来?
我正在尝试使其正常运行
final_df
但是它没有给我列表。
答案 0 :(得分:1)