您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何仅将dtype bool列的大pandas数据框中的对与错映射为“是”和“否”?

如何仅将dtype bool列的大pandas数据框中的对与错映射为“是”和“否”?

使用dtypes属性检查列是否为布尔值并根据该值进行过滤:

df = pd.DataFrame({'A': [0, 1], 'B': ['x', 'y'], 
                   'C': [True, False], 'D': [False, True]})

df
Out: 
   A  B      C      D
0  0  x   True  False
1  1  y  False   True

bool_cols = df.columns[df.dtypes == 'bool']

df[bool_cols] = df[bool_cols].replace({True: 'Yes', False: 'No'})

df
Out: 
   A  B    C    D
0  0  x  Yes   No
1  1  y   No  Yes

我认为最快的方法是在循环中使用map:

for col in df.columns[df.dtypes == 'bool']:
    df[col] = df[col].map({True: 'Yes', False: 'No'})
其他 2022/1/1 18:45:10 有469人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶