我有一個dataframe
有多個列。我想替換名爲Discriminant
的列中的值。現在,只要在另一列ids
中滿足條件時,此值就只需要替換爲幾行。我嘗試了各種方法;最常見的方法似乎是使用.loc
方法,但由於某種原因,它不適用於我。替換行中子集的值
下面是我不成功嘗試變化:
encodedid
- 用於條件覈對
indices
變量 - 變量用於子集劃分的dataframe
(從零開始)
變形例1:
df[df.ids == encodedid].loc[df.ids==encodedid, 'Discriminant'].values[indices] = 'Y'
變化2:
df[df['ids'] == encodedid].iloc[indices,:].set_value('questionid','Discriminant', 'Y')
變化3:
df.loc[df.ids==encodedid, 'Discriminant'][indices] = 'Y'
Variation 3
特別是已經在SO往往說這應該工作,但它給了我下面的錯誤,大多數帖子失望:
ValueError: [ 0 1 2 3 5 6 7 8 10 11 12 13 14 16 17 18 19 20 21 22 23] not contained in the index
任何指針都會高度讚賞特德。
什麼是指數?你能打印嗎?不知道你在努力達到什麼目的,還向我們展示了你的一小部分df –