python 如何根据数据类型赋值?

诉求:判断A,B列,对应行数据都为int,赋值为OK,否则为赋值NO


请求帮助

这样的代码不成功

df[str(df['A列'].dtype == 'int32')&(df['B列'].dtype == 'int32') ,'判断'] = "YES"

也不可行

df[str(df['A列'].isinstance(int) == False),'判断'] = "YES"

提示:AttributeError: 'Series' object has no attribute 'isinstance'

阅读 2k
3 个回答

可以用 isinstance(...) 函数,示例如下

>>> a = 2 
>>> isinstance(a,int)
True
>>> b = '2'
>>> isinstance(b, str)
True
>>> isinstance(b, int)
False

参考:https://www.runoob.com/python...

我觉得你尝试用 int() 转换一下, 不报错就认为是数字好一些.

df['判断'] = df.apply(lambda x: 'YES' if isinstance(x['A列',int) and isinstance(x['B列',int) else 'NO',axis = 1)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题