将布尔值分配给以数字开头的列值

我有这个数据集

    Name              Col1 Col2 Col3 Col4 Col5 Col6 Col7
    tfedup.sm           1   1   1   1   1   1   1
    13wham.cc           1   1   1   1   1   1   1   
    1chancerslane.cc    1   1   1   1   1   1   1   
    24layover.cc        1   1   1   1   1   1   1   
    301-joy.cycle.cc    1   1   1   1   1   1   1

我想创建一个新列,说明名称是否以数字开头。我做了

# Starts with numbers

    df['Nane_num'] = list( 
        map(lambda x: x.isdigit(), df['Name']))  

但它只给我 False 值。我上面的代码有什么问题?

回答

Series.str.isdigit与字符串的第一个值一起使用by str[0]

df['Nane_num'] = df['Name'].str[0].str.isdigit()
print (df)
               Name  Col1  Col2  Col3  Col4  Col5  Col6  Col7  Nane_num
0         tfedup.sm     1     1     1     1     1     1     1     False
1         13wham.cc     1     1     1     1     1     1     1      True
2  1chancerslane.cc     1     1     1     1     1     1     1      True
3      24layover.cc     1     1     1     1     1     1     1      True
4  301-joy.cycle.cc     1     1     1     1     1     1     1      True


以上是将布尔值分配给以数字开头的列值的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>