所以我有点卡在这里,我的数据是这样的
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]})
id喜欢编写代码以将“ Z”列的第6至9行的值设置为NaN。
最好的ive是:
df.replace({'Z': { 6: np.NaN, 7: np.NaN }})
但是所有要做的就是替换如果在Y列中设置的新值。
如果该特定列中的某些值相同,我对如何更改该列中的行的值感到困惑。
答案 0 :(得分:1)
您可以为数据框使用loc
索引器。我使用了第6至8列,因为df
没有第9列:
df.loc[range(6, 9), 'Z'] = pd.NA
答案 1 :(得分:1)
您可以使用:
df.Z[6:9] = np.NaN
答案 2 :(得分:1)
我认为您应该为此使用.iloc
。
首先,索引从零开始,因此没有第9行。
要将“ Z”列上第5行到第8行的值更改为pd.NA,您可以执行以下操作:
df.iloc[6:9,2:] = pd.NA
我假设熊猫> 1.0引入了NA值。