我提取了一个国家/地区列表,我正在尝试处理数据以生成报告。我使用“ value_counts()
”来计算国家/地区的元素。结果显示如下。
>>>country_counts
America 10
America England 1
England America 2
Canada America Hongkong 1
Korea 3
但是,有些重复项无法使用“ drop_duplicate
”来减少它们。例如,这两个值“ America England”和“ England America”相同,但顺序不同。我只想保留其中一个并在另一列中加起来。
就像以下内容一样,将“ England America”更改为“ America England”,并将它们全部加起来(2 + 1 = 3):
America 10
America England 3
Canada America Hongkong 1
Korea 3
谢谢。
答案 0 :(得分:0)
您可以将它们分隔在空格上,然后对列表进行排序。然后,我将
list
到str
,以便可以在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