我在以下数据集中使用了这段狡猾的代码
df = pd.DataFrame({
'contact_email': ['info@info.com', 'info@info.com', 'info@info.com'],
'interest': ['Math', 'Science', 'Science']
})
print(df)
interest contact_email
0 Math info@info.com
1 Science info@info.com
2 Science info@info.com
df = df.groupby('Contact_Email').agg({'interest' : ' '.join}).reset_index()
print(df)
contact_email AOI
0 info@info.com Math Science Science
这非常接近我想要的,但是我只需要返回唯一的兴趣。 (我让用户/客户输入相同的表格,几乎相同的值是10倍!)
也很高兴有人知道如何删除0、1、2、3索引。
谢谢!
答案 0 :(得分:1)
使用unique
删除重复项:
df = (df.groupby('contact_email')
.agg({'interest' : lambda x: ' '.join(x.unique())})
.reset_index())
print(df)
contact_email interest
0 info@info.com Math Science
或set
,但应更改值的顺序:
df = df.groupby('contact_email').agg({'interest' : lambda x: ' '.join(set(x))}).reset_index()
print(df)
contact_email interest
0 info@info.com Math Science
df = (df.drop_duplicates(subset=['contact_email','interest'])
.groupby('contact_email')
.agg({'interest' : ' '.join})
.reset_index())
print(df)
contact_email interest
0 info@info.com Math Science
答案 1 :(得分:1)
由于只有一个功能,因此可以使用html = Phoenix.View.render_to_string(MyApp.BillingView, "receipt.html", %{organization: organization, transaction: transaction})
+ groupby
并使用apply
:
set