Convert Pandas series containing string to boolean Convert Pandas series containing string to boolean pandas pandas

Convert Pandas series containing string to boolean


You can just use map:

In [7]: df = pd.DataFrame({'Status':['Delivered', 'Delivered', 'Undelivered',                                     'SomethingElse']})In [8]: dfOut[8]:          Status0      Delivered1      Delivered2    Undelivered3  SomethingElseIn [9]: d = {'Delivered': True, 'Undelivered': False}In [10]: df['Status'].map(d)Out[10]:0     True1     True2    False3      NaNName: Status, dtype: object


An example of replace method to replace values only in the specified column C2 and get result as DataFrame type.

import pandas as pddf = pd.DataFrame({'C1':['X', 'Y', 'X', 'Y'], 'C2':['Y', 'Y', 'X', 'X']})  C1 C20  X  Y1  Y  Y2  X  X3  Y  Xdf.replace({'C2': {'X': True, 'Y': False}})  C1     C20  X  False1  Y  False2  X   True3  Y   True


You've got everything you need. You'll be happy to discover replace:

df.replace(d)