【问题标题】:How to count dots, semicolons and numbers in strings within a pandas column如何计算熊猫列中字符串中的点、分号和数字
【发布时间】:2021-02-08 22:30:32
【问题描述】:

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

def c_dots(x):  
    return x['Web'].count('.') 

创建一个包含点数的新列。我收到了错误:ValueError: Series.count level is only valid with a MultiIndex

我的数据集是

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

我们将不胜感激。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    您可以使用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
    

    【讨论】:

    • 非常感谢,QuangHoang。为了计算数字,我应该同时使用 isdigit 和 count,不是吗?
    • 数位可以使用.str.count('\d')
    猜你喜欢
    • 2020-12-24
    • 1970-01-01
    • 2018-04-04
    • 2021-01-11
    • 2023-03-08
    • 2011-10-21
    • 2018-07-08
    • 2018-08-20
    • 2020-07-19
    相关资源
    最近更新 更多