Python 如何计算列中字符串中的点、分号和数字

Python 如何计算列中字符串中的点、分号和数字,python,pandas,Python,Pandas,我正在使用的数据集包含一个包含网站的列。 我想计算点、分号和数字的数量。 我已经为圆点编写了以下函数(但它猜测其他特性也会类似): 创建具有点数的新列。我得到了错误:ValueError:Series.count级别仅对多索引有效 我的数据集是 Web 0 https://www.times.com/ 2 https://www.facebook.com/ 4 https://www.twitter.com/ 8 https://www.kaggle.com/ 9 https

我正在使用的数据集包含一个包含网站的列。 我想计算点、分号和数字的数量。 我已经为圆点编写了以下函数(但它猜测其他特性也会类似):

创建具有点数的新列。我得到了错误:ValueError:Series.count级别仅对多索引有效

我的数据集是

Web
0   https://www.times.com/
2   https://www.facebook.com/
4   https://www.twitter.com/
8   https://www.kaggle.com/
9   https://www.medium.com/
11  https://saarj.com/
12  https://pubs.acs.org/
13 https://www.facebook.com/107462464135489/posts...
14 https://www.youtube.com/watch?v=P-gJDhI4q3o

非常感谢您的帮助。

您可以使用
str.count
将字符串函数传递给序列。但是,请注意,
是一个特殊的正则表达式字符,因此:

df['ndots'] = df['Web'].str.count('\.')
输出:

                                                  Web  ndots
0                              https://www.times.com/      2
2                           https://www.facebook.com/      2
4                            https://www.twitter.com/      2
8                             https://www.kaggle.com/      2
9                             https://www.medium.com/      2
11                                 https://saarj.com/      1
12                              https://pubs.acs.org/      2
13  https://www.facebook.com/107462464135489/posts...      5
14        https://www.youtube.com/watch?v=P-gJDhI4q3o      2

谢谢你,广宏。要计算数字,我应该同时使用isdigit和count,不是吗?要计算数字,可以使用
.str.count('\d')
                                                  Web  ndots
0                              https://www.times.com/      2
2                           https://www.facebook.com/      2
4                            https://www.twitter.com/      2
8                             https://www.kaggle.com/      2
9                             https://www.medium.com/      2
11                                 https://saarj.com/      1
12                              https://pubs.acs.org/      2
13  https://www.facebook.com/107462464135489/posts...      5
14        https://www.youtube.com/watch?v=P-gJDhI4q3o      2