我的数据看起来像这样
>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
那可以的,我有些行不是空的。
那么我如何计算每个单元格中的元素。而且这不是一个列表,而是一个字符串。
答案 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)