pandas 迭代 Dataframe 中冒号列的行,如果存在,则使用True添加新列

a1o7rhls  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(117)

我有一个形状为(2556, 15)的 Dataframe 。我想添加一个新列Check,条件是同一行的对应列B应该有一个冒号。我尝试了下面的代码。

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

它将True添加到 Dataframe 的所有行

jdgnovmf

jdgnovmf1#

另一种方式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

相关问题