假設這樣一個數據:如何使用串行對象中的模式來計算字符串?
>>> 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