在数据框pandas中迭代列的每一行以获取冒号,如果存在,则使用True添加新列

时间:2017-09-25 18:33:12

标签: pandas dataframe colon

我有一个形状(2556,15)的数据框(df)。我想添加一个新列" Check"使用条件的布尔值,该行的相应列B应该具有冒号。  我试过以下代码。

 for each in df['B']:
     check = df['B'].to_string().__contains__(':')
     if check:
        df['Check'] = check

它向数据框的所有行添加True

1 个答案:

答案 0 :(得分:0)

另一种方式replace

df=pd.DataFrame({'B':['In:d','Chn:','SG','U:S:'],'a':[5,6,3,4]})
m=df.B.replace({":":True},regex=True)
df['Check']=m[m==True]

df
Out[1081]: 
      B  a Check
0  In:d  5  True
1  Chn:  6  True
2    SG  3   NaN
3  U:S:  4  True