我有一个csv表,其中的列(标签)充满了字符串列表。要将其转换为我使用的pd系列
def flatten(series):
return pd.Series(series.dropna().sum())
tags_sorted = flatten(df['tags'])
现在,我想在序列中搜索列表之一中的字符串,以便它返回该字符串在列中出现的次数。我发现了这个功能:
def find(series, tag):
for i in series.index:
if series[i] == tag:
return i
return None
并将其用于我的系列:
print(find(tags_sorted, 'romance'))
,但是即使该字符串肯定在多个列表中,它也会继续返回None
。
我也尝试过
print(tags_sorted[tags_sorted == "romance"])
和
print(tags_sorted.loc[tags_sorted == 'romance'])
但那些仅返回[]
。
答案 0 :(得分:0)
我相信您需要将find函数更改为:
def find(series, tag):
times_occurred = 0
for i in series.index:
if series[i] == tag:
times_occurred += 1
return times_occurred
,如果要查找特定字符串出现了多少次。