我有一个数据帧,第一列中有一个年份列表。第二列显示每行中列出的年份。
Years Count_of_Years
0 [] 2
1 [] 2
2 ['2021'] 6
3 ['2022'] 6
4 [] 2
这让我觉得每个单元格的内容都是一个纯字符串。当我检查类型时似乎是这样的:
type(df['Years'][0])
str
当我将列转换为列表using to_list()
时,它显示:
df['Years'].to_list()
'[]',
'[]',
"['2021']",
"['2021']",
'[]',
'[]',
如何转换它以使Count_of_Years
显示正确的值?
如果Years
列中的值已经是字符串,那么我建议使用带有正则表达式模式的str.count
方法来查找匹配的出现次数:
df['new_count'] = df['Years'].str.count(r'd{4}')
Years Count_of_Years new_count
0 [] 2 0
1 [] 2 0
2 ['2021'] 6 1
3 ['2022'] 6 1
4 [] 2 0