我有一个独特的清单:
unique_list = {'apple', 'banana', 'coconut'}
我想知道有多少元素正好出现在我的大文本文件中。我只需要号码,不需要名字。例如,如果只为特定的人找到“apple”和“banana”,那么它应该返回2
对于每个人(名字和姓氏),我需要知道这个人有多少种独特的水果。在一个大文件中,这可能很困难。我需要最快的方法
假设我从文本文件中获取名称:
people = {'cody meltin', 'larisa harris', 'harry barry'}
文本文件如下:
Name Fruit unit
cody melton apple 3
cody melton banana 5
cody melton banana 7
larisa harris apple 8
larisa harris apple 5
输出应如下所示:
{'cody meltin':2, 'larisa harris':1, 'harry barry':0}
我不想使用任何包,只是内置和基本库
您可以利用python的基本库-
collections
输出
在我上面的例子中,我传递了一个
pd.Series
作为它的参数,但是在您的例子中,您可以将df['name']
传递给它,它是一个pd.Series
对象您没有指定源数据的格式,因此假设它是一个列表列表:
当您在“香草”python中寻找性能时,请查看标准库—在本例中是^{} ;我们将用它来计算所有独特的水果组合:
参数是一个迭代器,它从源数据中创建一个元组
(name, fruit)
,并且Counter
对它们的出现进行计数编辑:如果您只想计算水果在特定集合中的那些:
,然后在理解中加上这个条件:
我们就快到了-剩下的就是计算每个名字的出现次数:
我看到您的输出中有一个出现次数为0的“harry barry”——它们显然没有出现在源代码
data
中,所以只需将它们添加到dict中,值为0就这么做吧:
相关问题 更多 >
编程相关推荐