我有一个如下所示的数据框:
data = [['1','tom',1,0],['1','tom',0,1],['2','lynda',0,1],['2','lynda',0,1]]
df = pd.DataFrame(data, columns = ['ID','NAME', 'A','B'])
df.head()
我想将数据框转换为如下所示: A和B列采用逻辑OR。ID和NAME始终具有相同的对值,无论它们出现多少次,但A和B列都可以更改(00,10,11,01)。
答案 0 :(得分:1)
您始终可以求和并与0进行比较。
data = [['1','tom',1,0],['1','tom',0,1],['2','lynda',0,1],['2','lynda',0,1]]
df = pd.DataFrame(data, columns = ['ID','NAME', 'A','B'])
g_df = (df.groupby(['ID', 'NAME']).sum() >0).astype(float)
g_df.reset_index()