Checking if a data series is strings

后端 未结 2 875
無奈伤痛
無奈伤痛 2020-12-06 14:00

I want to check if a column in a dataframe contains strings. I would have thought this could be done just by checking dtype, but that isn\'t the case. A pandas series that c

相关标签:
2条回答
  • 2020-12-06 14:35

    You can use this to see if all elements in a column are strings

    df.applymap(type).eq(str).all()
    
    a    False
    b     True
    c    False
    dtype: bool
    

    To just check if any are strings

    df.applymap(type).eq(str).any()
    
    0 讨论(0)
  • 2020-12-06 14:55

    You could map the data with a function that converts all the elements to True or False if they are equal to str-type or not, then just check if the list contains any False elements

    The example below tests a list containing element other then str. It will tell you True if data of other type is present

    test = [1, 2, '3']
    False in map((lambda x: type(x) == str), test)
    

    Output: True

    0 讨论(0)
提交回复
热议问题