pandas用字符串或整数替换布尔值

Fel*_*lix 3 replace boolean pandas

这是我的代码的snipett与列值比较:

import pandas as pd
df =pd.DataFrame({'coname1':['Apple','Yahoo','Gap Inc'],'coname2':['Apple', 'Google', 'Apple']})
df['eq'] =df.apply(lambda row: row['coname1'] == row['coname2'],axis=1)
Run Code Online (Sandbox Code Playgroud)

问题是,我有兴趣与Character (True='Y' or False = 'N')Integer (True= 1 or False = 0)值.

选项df.replace(['True', 'False'],[1,0])不起作用谢谢

piR*_*red 8

分配'eq'列时,请使用atype(int).int转换True成为1False转入0

df = pd.DataFrame({'coname1': ['Apple','Yahoo','Gap Inc'], 'coname2':['Apple', 'Google', 'Apple']})
df['eq'] = df.apply(lambda row: row['coname1'] == row['coname2'], axis=1).astype(int)
Run Code Online (Sandbox Code Playgroud)

对于角色

df['eq'] = np.where(df['eq'], 'Y', 'N')
df
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 第 1 行中的拼写错误。 `astype()` .. [panda 文档](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.astype.html) (2认同)