所以我有一个带有列" 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
有任何帮助吗?提前谢谢!
答案 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))
这会对所有行应用所需的操作,并且速度要快得多