Python 删除重复值并计算值
我提取了一份国家列表,并试图对数据进行处理以生成一份报告。我使用“Python 删除重复值并计算值,python,pandas,Python,Pandas,我提取了一份国家列表,并试图对数据进行处理以生成一份报告。我使用“value\u counts()”来计算国家的元素。结果如下所示 >>>country_counts America 10 America England 1 England America 2 Canada America Hongkong 1 Korea 3 但是,有些重复项我无法使用“drop\u duplicate”来减少它们。例如,这两种价值观“美国-英国”和“英国-美国”是相同的,但出现的顺序不同。
value\u counts()
”来计算国家的元素。结果如下所示
>>>country_counts
America 10
America England 1
England America 2
Canada America Hongkong 1
Korea 3
但是,有些重复项我无法使用“drop\u duplicate
”来减少它们。例如,这两种价值观“美国-英国”和“英国-美国”是相同的,但出现的顺序不同。我只想保留其中的一个,并将另一列中的值相加
如下图所示,将“英格兰-美国”改为“美国-英格兰”,并将其汇总(2+1=3):
提前感谢。您可以在空格中拆分它们,然后对列表进行排序。然后,我将
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
对不起,不清楚,请在您的帖子中提供更多关于您的问题的信息。@RavinderSingh13已编辑。希望现在一切都清楚了。非常感谢!它工作得很好!
b
a
['America', 'Canada', 'Hongkong'] 1
['America', 'England'] 3
['America'] 10
['Korea'] 3