2017-08-28 4 views
3

は、このようなデータを仮定しますシリーズオブジェクトのパターンで文字列を数えるには?

>>> data 
       x 
0 [wdq, sda, q] 
1 [q, d, qasd] 
2 [d, b, sdaaaa] 

私は、文字列は、私はこのような答え必要があることを意味しており、各リストのaが含まれていますどのように多くの疑問:私はPythonでこれを行うことができますどのように

>>> data 
       x count_a 
0 [wdq, sda, q]  1 
1 [q, d, qasd]  1 
2 [d, b, sdaaaa]  1 

を?

答えて

2

これはpandas.DataFramexであると仮定するとlistオブジェクトです:

df['count_a'] = df['x'].apply(lambda x: sum('a' in e for e in x)) 
+0

あなたが投票した場合、フィードバックを提供してください。 – AChampion

0

手紙aが含まれているどのように多くのStringの各Listで見つけるために、あなたは以下を使用することができます。

l = ['wdq', 'sda', 'qaaa'] 

print(sum([1 for x in l if 'a' in x])) 

これは次のように出力されます

2 
+0

を与え、時間を意味するものではありません変数 'count_a'は' A'が表示されます。これは、 'a'が含まれている時間文字列が表示されることを意味します。 – Garvey

+0

@Garvey私は今あなたが尋ねたことを理解しており、これが解決策です! –

0
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 
0

あなたはこれを試すことができます。

for i in my_series: 
    print (i.count('a')) 

が、これは実際には、各あなたのシリーズの手紙に

関連する問題