我想搜索某个列表中的每个元素,看看它是否存在于一个数组spotify_data
的列中,spotify_data['Genre']
是一个序列。
这是我的代码:
genre_names = take(1545, all_genres) # a function that extracts certain # of indices from dictionary
streams_on_genre = []
for genre in genre_names:
streams = 0
for index, row in spotify_data.iterrows():
if genre in row['Genre']:
streams += row['Streams']
streams_on_genre.append(streams)
字符串
3条答案
按热度按时间z8dt9xmd1#
你不需要搜索数组中的每一个元素。
字符串
5
是否在列B中。因为它是,它返回True
。pear
是否在列c中。由于它是not,它返回False
。您可以对所有数据类型执行此操作。
mbyulnm02#
看起来你想计算你感兴趣的流派在列中出现的次数。纯pandas方法可能如下所示:
字符串
这将给你给予一个系列的计数值和索引将是流派。
或者,如果你愿意,你可以使用vanilla python获得一个计数字典:
型
然后,如果你只想要特定的计数,你可以过滤回来:
型
这两种方法都是高性能的。但是请注意,这两种方法都只检查精确匹配
y3bcpkx13#
对于你正在做的子串匹配(不快于2 for循环)
字符串
精确匹配(应该更快)
型