假设这样一个数据:如何使用串行对象中的模式来计算字符串?
>>> data
x
0 [wdq, sda, q]
1 [q, d, qasd]
2 [d, b, sdaaaa]
不知串了多少包含在每个列表a
,这意味着我需要这样一个答案:
>>> data
x count_a
0 [wdq, sda, q] 1
1 [q, d, qasd] 1
2 [d, b, sdaaaa] 1
我怎样才能做到这一点在Python?
假设这样一个数据:如何使用串行对象中的模式来计算字符串?
>>> data
x
0 [wdq, sda, q]
1 [q, d, qasd]
2 [d, b, sdaaaa]
不知串了多少包含在每个列表a
,这意味着我需要这样一个答案:
>>> data
x count_a
0 [wdq, sda, q] 1
1 [q, d, qasd] 1
2 [d, b, sdaaaa] 1
我怎样才能做到这一点在Python?
假设这是一个pandas.DataFrame
和x
是list
对象:
df['count_a'] = df['x'].apply(lambda x: sum('a' in e for e in x))
要找出多少String
S IN每个List
包含字母a
,您可以使用以下命令:
l = ['wdq', 'sda', 'qaaa']
print(sum([1 for x in l if 'a' in x]))
此打印如下:
2
实际上,变量'count_a'并不意味着时间'出现了'。这意味着包含'a'的时间字符串出现 – Garvey
@Garvey我现在明白你问了什么,这是一个解决方案! –
a = ['a', '12asf3', 'sdf']
b = ['gfdg5', ' ', 'vag gfd4']
c = [' fd4 ', 'sfsa fa', 'df4 a']
abc = [a, b, c]
for mem in abc:
counter = 0
for str in mem:
if 'a' in str:
counter += 1
print abc.index(mem), mem, counter
输出:
0 ['a', '12asf3', 'sdf'] 2
1 ['gfdg5', ' ', 'vag gfd4'] 1
2 [' fd4 ', 'sfsa fa', 'df4 a'] 2
你可以试试这个;
for i in my_series:
print (i.count('a'))
这给每个系列的信
如果您投下,请提供反馈。 – AChampion