Python 通过不工作中相同数据帧切片的索引设置数据帧列

Python 通过不工作中相同数据帧切片的索引设置数据帧列,python,pandas,Python,Pandas,我试图根据dataframe视图的索引为dataframe的某些行设置列的值。这不符合预期。什么是替代品 我尝试了以下代码: df=pd.DataFrame({'a':[1,2,3]}) dfb=df[df.a>1] df['c']=np.nan df.loc[dfb[dfb.a>2].index]['c']=10 df.loc[dfb[dfb.a>2].index] 预期df.loc[dfb[dfb.a>2].index]的c列为10。它仍然是nan尝试将df.loc[df

我试图根据dataframe视图的索引为dataframe的某些行设置列的值。这不符合预期。什么是替代品

我尝试了以下代码:

df=pd.DataFrame({'a':[1,2,3]})
dfb=df[df.a>1]
df['c']=np.nan
df.loc[dfb[dfb.a>2].index]['c']=10
df.loc[dfb[dfb.a>2].index]

预期df.loc[dfb[dfb.a>2].index]的c列为10。它仍然是nan

尝试将
df.loc[dfb.a>2].index][c']=10
更改为
df.loc[dfb.a>2].index,'c']=10
,因为当您执行df.loc[..]c']时,您不再将数据保存在
df
上,而是保存在从
df
派生的新数据帧上。首先将
df
切片到一个新的数据帧中(我们称之为
df\u t
),并在
df\u t
上为列
c
赋值。您正在链接指令,而不是正确切片