Python-计算数据帧中每个字符串的数字字符总和

时间:2015-05-21 09:22:48

标签: python pandas dataframe

所以我有一个带有列" dname"的数据框。 它包含许多行的2LD域名。即[123ask , example92 , what3ver]

我想找到每一行中每个字符串的位数。

因此,要在数据框中创建一个新列,其值为[3 , 2 , 1]

我有:

df['numeric']= sum (x.isdigit() for b in df['dname'] for x in b)

我得到的只是6 6 6 而不是3 2 1

有任何帮助吗?提前谢谢!

2 个答案:

答案 0 :(得分:1)

你几乎拥有它。

df = {'dname':["123ask", "example92" , "what3ver"]}
df['numeric'] = [sum (x.isdigit()  for x in b) for b in df['dname']]
print df['numeric']
#>>> [3, 2, 1]

答案 1 :(得分:0)

    df['numeric']= df['dname'].apply(lambda v : sum(x.isdigit() for x in v))

这会对所有行应用所需的操作,并且速度要快得多