【发布时间】:2022-01-07 00:01:20
【问题描述】:
我有一个 Pandas DataFrame,其中 B 列包含混合类型
A B C
0 1 1 False
1 2 abc False
2 3 2 False
3 4 3 False
4 5 b False
当B 列中的值是int 类型并且值也大于或等于3 时,我想将列C 修改为True。所以在这个例子中df['B'][3] 应该匹配这个条件
我尝试过这样做:
df.loc[(df['B'].astype(str).str.isdigit()) & (df['B'] >= 3)] = True
但是由于B 列内的str 值,我收到以下错误:
TypeError: '>' 在 'str' 和 'int' 的实例之间不支持
如果我只能在第一个条件之后提供的子集上测试第二个条件,我认为这将解决我的问题。我该怎么做才能做到这一点?
【问题讨论】:
标签: python pandas dataframe conditional-statements