为了账号安全,请及时绑定邮箱和手机立即绑定

合并单元格而不丢失 Pandas 中的信息

合并单元格而不丢失 Pandas 中的信息

慕斯709654 2022-06-14 17:02:12
我正在编写一个能够从 Discogs 音乐数据库中抓取专辑信息的程序。刮刀工作正常。现在我有一个数据框,其中包含许多重复的艺术家和标题,其中格式单元格不同(例如,参见下面我的数据框片段中的“Sido”、“Ich und keine Maske”)。    Interpret                    Title                              Formats0   Afrika Bambaataa And Family  The Decade Of Darkness 1990-2000   CD, Album, RE1   Sha Hef                      Out The Mud2   Sido                         Ich Und Keine Maske                CD, Album3   Sido                         Ich Und Keine Maske                2xLP, Album...现在我正在寻找一种方法来组合这些双重条目而不会丢失信息。有人可以给我一个提示吗?最终结果应如下所示:    Interpret                    Title                              Formats0   Afrika Bambaataa And Family  The Decade Of Darkness 1990-2000   CD, Album, RE1   Sha Hef                      Out The Mud2   Sido                         Ich Und Keine Maske                CD, Album, 2xLP...我努力了r = dataframe.groupby('Interpret')['Formate'].apply(','.join)但结果是删除了“标题”列的熊猫系列,所以我丢失了信息。
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

你有没有尝试过


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)

? 那给你


Out[40]: 

                     Interpret  ...          Formats

0  Afrika Bambaataa And Family  ...    CD, RE, Album

1                      Sha Hef  ...        CD, Album

2                         Sido  ...  CD, Album, 2xLP

并且基本上是您为这个问题找到的答案的略微修改版本。


查看完整回答
反对 回复 2022-06-14
  • 1 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信