Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为多个单元格赋值_Python_Python 3.x_Pandas - Fatal编程技术网

Python 为多个单元格赋值

Python 为多个单元格赋值,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

我有一个带有三列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)].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应用了一个条件