我有一个数据框架,第一列列出了年份.第二列显示了每行中列出的年数.

    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

Python相关问答推荐

使用SciPy进行曲线匹配未能给出正确的匹配

对于一个给定的数字,找出一个整数的最小和最大可能的和

使用索引列表列表对列进行切片并获取行方向的向量长度

' osmnx.shortest_track '返回有效源 node 和目标 node 的'无'

如何使用根据其他值相似的列从列表中获取的中间值填充空NaN数据

部分视图的DataFrame

Pandas Data Wrangling/Dataframe Assignment

lityter不让我输入左边的方括号,'

在Python中计算连续天数

matplotlib图中的复杂箭头形状

处理Gekko的非最优解

为什么t sns.barplot图例不显示所有值?'

504未连接IB API TWS错误—即使API连接显示已接受''

SpaCy:Regex模式在基于规则的匹配器中不起作用

在matplotlib中重叠极 map 以创建径向龙卷风图

如何将列表从a迭代到z-以抓取数据并将其转换为DataFrame?

我怎样才能让深度测试在OpenGL中使用Python和PyGame呢?

Pandas ,快速从词典栏中提取信息到新栏

如何通过函数的强式路径动态导入函数?

正则表达式反向查找