我正在编写一个程序,该程序能够从Discogs音乐数据库中抓取专辑信息。刮板工作正常。
现在我有一个数据框架,其中包含很多重复的艺术家和标题,但格式单元格不同(例如,在下面我的数据框架的摘要中,请参见“ Sido”,“ Ich und keine Maske”)。
Interpret Title Formats
0 Afrika Bambaataa And Family The Decade Of Darkness 1990-2000 CD, Album, RE
1 Sha Hef Out The Mud
2 Sido Ich Und Keine Maske CD, Album
3 Sido Ich Und Keine Maske 2xLP, Album
...
现在,我正在寻找一种组合这些重复条目而不丢失信息的方法。有人可以给我提示吗?最终结果应如下所示:
Interpret Title Formats
0 Afrika Bambaataa And Family The Decade Of Darkness 1990-2000 CD, Album, RE
1 Sha Hef Out The Mud
2 Sido Ich Und Keine Maske CD, Album, 2xLP
...
我尝试过
r = dataframe.groupby('Interpret')['Formate'].apply(','.join)
但是结果是删除了“ title”列的Pandas系列,所以我丢失了信息。
答案 0 :(得分:1)
您尝试过
model = "StudentName=Test&SchoolType=1b&SchoolType=26a"
?那给你
import pandas as pd
df = pd.DataFrame({'Interpret': ['Afrika Bambaataa And Family', 'Sha Hef', 'Sido', 'Sido'],
'Title': ['The Decade Of Darkness 1990-2000', 'Out The Mud', 'Ich Und Keine Maske', 'Ich Und Keine Maske'],
'Formats': ['CD, Album, RE', 'CD, Album', 'CD, Album', '2xLP, Album']})
# remove duplicate interprets and merge formats...
df1 = df.groupby('Interpret').agg(lambda x: ', '.join(x.unique())).reset_index()
# now to get rid of duplicate entries in 'Formats' column...
def drop_dupes(row):
l = row.split(', ')
return ', '.join(list(set(l)))
df1['Formats'] = df1['Formats'].apply(drop_dupes)
,基本上是您为this question找到的答案的稍作修改的版本。