I have two dataframes
df2with the same numbers of rows and columns and variables, and I’m trying to compare the boolean variable
choice in the two dataframes. Then use
if/else to manipulate the data. But something seems wrong when I try to compare the boolean var.
Here are my dataframes sample and codes:
#df1 v_100 choice #boolean 7 True 0 True 7 False 2 True #df2 v_100 choice #boolean 1 False 2 True 74 True 6 True def lastTwoTrials_outcome(): df1 = df.iloc[5::6, :] #df1 and df2 are extracted from the same dataframe first df2 = df.iloc[4::6, :] if df1['choice'] != df2['choice']: # if "choice" is different in the two dataframes df1['v_100'] = (df1['choice'] + df2['choice']) * 0.5
Here’s the error:
if df1['choice'] != df2['choice']: File "path", line 818, in wrapper raise ValueError(msg) ValueError: Can only compare identically-labeled Series objects
I found the same error here, and an answer suggests to
sort_index first, but I don’t really understand why though? Can anyone explain more in detail please (if that’s the correct solution)?