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

时间:2019-11-22 06:06:22

标签: python pandas

我的数据看起来像这样

>df
    Employee     Entries
0       A     abc,sed,yrs,sef
1       B       wes,det,fyd

我想计算“条目”列每行中有多少个单词。所以第一行是4,第二行是3。

我尝试过

# Count Comma and add 1
df['Entries_Count'] = df.Entries.str.count(',')+1

那可以的,我有些行不是空的。

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

2 个答案:

答案 0 :(得分:2)

for line in csv_reader: if lineno % record_per_file == 0: fileno += 1 lineno += 1 else: with open('C:/Users/contactsextracted' + str(fileno) + '.csv', "w", newline='') as new_file: csv_writer = csv.writer(new_file) csv_writer.writerow(line) lineno += 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 以获得总数:

sum

输出:

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

答案 1 :(得分:0)

使用还可以使用lambda函数:
df['Entries_Count'] = df['Entries'].apply(lambda x: x.count(',')+1)