Python 计算单元格中字符串中的元素数

Python 计算单元格中字符串中的元素数,python,pandas,Python,Pandas,我的数据是这样的 >df Employee Entries 0 A abc,sed,yrs,sef 1 B wes,det,fyd 我想计算“entries”列的每行中有多少个单词。第一排是4,第二排是3 我试过了 # Count Comma and add 1 df['Entries_Count'] = df.Entries.str.count(',')+1 没关系,我知道有些行不是空的 那么如何计算每个单元格中的元素数呢。

我的数据是这样的

>df
    Employee     Entries
0       A     abc,sed,yrs,sef
1       B       wes,det,fyd
我想计算“entries”列的每行中有多少个单词。第一排是4,第二排是3

我试过了

# Count Comma and add 1
df['Entries_Count'] = df.Entries.str.count(',')+1
没关系,我知道有些行不是空的


那么如何计算每个单元格中的元素数呢。此外,这不是一个列表,而是一个字符串。

使用
pandas.Series.str.count
regex

  Employee          Entries
0        A  abc,sed,yrs,sef
1        B      wes,det,fyd
2        C          oneword # Added for a demonstration
3        D                  # Added for a demonstration
4        E              NaN # Added for a demonstration

df['Entries'].str.count('\w+')
输出:

0    4.0
1    3.0
2    1.0
3    0.0
4    NaN
Name: Entries, dtype: float64
8
您可以添加
sum
以获得总计数:

df['Entries'].str.count('\w+').sum()
输出:

0    4.0
1    3.0
2    1.0
3    0.0
4    NaN
Name: Entries, dtype: float64
8

Use也可以使用lambda函数:
df['Entries\u Count']=df['Entries'].apply(lambda x:x.Count(',')+1)