此问题已在此处有答案:
Pandas transform('unique') output as comma separate string instead of list(3个答案)
13小时前关闭
假设我在Python中有一个非常大的Pandas数据框,看起来像这样:
df_test = pd.DataFrame(data = None, columns = ['file','source'])
df_test.file = ['file_1', 'file_1', 'file_2', 'file_2', 'file_3', 'file_3']
df_test.source = ['usa', 'uk', 'jp', 'sk', 'au', 'nz']
我想从这里得到的是'source'列将唯一的源组合成一个字符串,用'分隔两个唯一的源;'file'列中每个相同的值。因此,“source”列的最终结果应该是:
['usa; uk', 'usa; uk', 'jp; sk', 'jp; sk', 'au; nz', 'au; nz']
由于“file”列中的“file_1”具有两个源“usa”和“uk”等。实际的 Dataframe 非常大,因此必须自动完成而不是手动完成。任何关于如何做到这一点的帮助将不胜感激,谢谢!
1条答案
按热度按时间eni9jsuy1#
在
GroupBy.transform
中使用lambda函数,删除dict.fromkeys
中或set
s中的重复值: