Python 如何计算列中字符串中的点、分号和数字
我正在使用的数据集包含一个包含网站的列。 我想计算点、分号和数字的数量。 我已经为圆点编写了以下函数(但它猜测其他特性也会类似): 创建具有点数的新列。我得到了错误:ValueError:Series.count级别仅对多索引有效 我的数据集是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
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