删除重复值并计算值

2024-09-27 21:23:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我提取了一个国家的名单,我正试图处理数据以生成一份报告。我用“value_counts()”来计算国家的元素。结果如下所示。你知道吗

>>>country_counts
America 10
America England 1
England America 2
Canada America Hongkong 1
Korea 3

但是,有些重复项我不能使用“drop_duplicate”来减少它们。例如,这两个价值观“美国-英国”和“英国-美国”是相同的,但出现的顺序不同。我只想保留其中一个,然后将另一列中的值相加。你知道吗

如下图所示,将“英格兰-美国”改为“美国-英格兰”,并将它们全部加起来(2+1=3):

America 10
America England 3
Canada America Hongkong 1
Korea 3

提前谢谢。你知道吗


Tags: 数据元素value报告国家countrydrop名单
1条回答
网友
1楼 · 发布于 2024-09-27 21:23:58

您可以将它们拆分为空格,然后对列表进行排序。然后我将 liststr,以便可以在groupby中使用。你知道吗

data = [
        ['America',10],
        ['America England', 1],
        ['England America', 2],
        ['Canada America Hongkong',1],
        ['Korea', 3]
       ]

df = pd.DataFrame(data,columns=['a','b'])
df['a'] = df['a'].apply(lambda x:str(sorted(x.split(' '))))

print(df.groupby('a').sum())

输出

                                    b
a                                    
['America', 'Canada', 'Hongkong']   1
['America', 'England']              3
['America']                        10
['Korea']                           3

相关问题 更多 >

    热门问题