如何在基于另一列Python的dataframe列中设置值-可能是掩码?

时间:2019-02-15 10:52:41

标签: python mask

我在B列中填充了值,一些数字和一些字母。

我希望另一列C接受基于另一列A的str.split的值。

如果B包含字母,我希望C为[4]拆分。如果B不包含字母,那么我希望C为[5]拆分

我尝试使用口罩,但由于以下错误而失败:

TypeError: bad operand type for unary ~: 'NoneType'

我的代码:

mydf.loc[:,'B Reported']        =  mydf['A Temp'].str.split('/', expand = True)[0]
mydf.loc[:,'B Reported']        =  mydf['B Reported'].str.strip()                                    
mydf.loc[:,'C Reported']        =  mydf['A Temp'].str.split('/', expand = True)[1]
mydf.loc[:,'C Reported']        =  mydf['C Reported'].str.strip()  
mydf.loc[:,'C alphacheck']      =  mydf['C Reported'].mask(cond = mydf['B Reported'].str.isalpha(), other = '')

请注意,此刻我只是想让它与遮罩一起使用到另一列中(C alphacheck),如果B是alpha,则为原始C值,否则为空白。如果我可以在遮罩内使用.isalpha检查,就可以轻弹所有这些东西。

希望一切都有道理

0 个答案:

没有答案