Python 为多个单元格赋值
我有一个带有三列a、B和C的熊猫数据帧df。我想根据列C的值在df中创建一个新的列D。如果列C中熊猫记录的值在值列表中,我希望将列D中相应单元格的值设置为1,否则为0Python 为多个单元格赋值,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个带有三列a、B和C的熊猫数据帧df。我想根据列C的值在df中创建一个新的列D。如果列C中熊猫记录的值在值列表中,我希望将列D中相应单元格的值设置为1,否则为0 # df: given dataframe # values: given list df["D"] = None #Creating a new column df.loc[~df[df["C"].isin(values)].index]["D"] = 1 df.loc[df[df["C"].isin(values)].ind
# df: given dataframe
# values: given list
df["D"] = None #Creating a new column
df.loc[~df[df["C"].isin(values)].index]["D"] = 1
df.loc[df[df["C"].isin(values)].index]["D"] = 0
但是,当我检查D列时,赋值没有发生,它的所有单元格都等于零。我想知道是否有人可以建议我如何解决这个问题。使用.loc填充D列
df['D']=1
df.loc[df["C"].isin(values),"D"]=0
试试df['D']=df['C'].isinvalues.aTypeInt谢谢它工作了!但即使没有先创建和初始化D列,我的意思是没有代码的第一行!你们知道为什么不需要吗?@woody实际上你们对0和1应用了两个条件,所以我在第一行做的是把1放在D列,然后只对0应用了一个条件