所以我有点卡在这里,我的数据是这样的
df = pd.DataFrame({'X': [1, 2, 3, 4, 5, 4, 3, 2, 1],
'Y': [6, 7, 8, 9, 10, 9, 8, 7, 6],
'Z': [11, 12, 13, 14, 15, 14, 13, 12, 11]})
喜欢编写代码以将'Z'列的第6至9行的值设置为NaN。
最好的我来做的是:
df.replace({'Z': { 6: np.NaN, 7: np.NaN }})
但是所有要做的就是替换在Y列中设置的新值。
我对如何更改一列中某些行的值感到困惑。
您可以为数据框使用loc
索引器。我使用了第6列到第8列,因为df
没有第9列:
df.loc[range(6, 9), 'Z'] = pd.NA
您可以使用:
df.Z[6:9] = np.NaN
我认为您应该为此使用.iloc
。
首先,索引是从零开始的,所以没有第9行。
要将“ Z”列上第5行到第8行的值更改为pd.NA,您可以执行以下操作:
df.iloc[6:9,2:] = pd.NA
我假设熊猫> 1.0引入了NA值。