0
我有一個列表包含我的數據框中的索引值的子集。如果數據框索引位於該列表中,並且其他位置沒有任何(''),我想返回一個值(x)。我嘗試了下面的表達式而沒有結果。如果基於索引子集的聲明 - 熊貓dataframe
df.loc[indexList]['Col'] = 'x'
你能告訴我如何使它工作,爲什麼上面的例子沒有?
我有一個列表包含我的數據框中的索引值的子集。如果數據框索引位於該列表中,並且其他位置沒有任何(''),我想返回一個值(x)。我嘗試了下面的表達式而沒有結果。如果基於索引子集的聲明 - 熊貓dataframe
df.loc[indexList]['Col'] = 'x'
你能告訴我如何使它工作,爲什麼上面的例子沒有?
您是否收到警告?當你犯這個錯誤時,有時熊貓會打印一個SettingWithCopyWarning。
這段代碼被打破:
df.loc[indexList]['Col'] = 'x'
因爲df.loc[indexList]
回報的副本,然後您可以修改並丟棄。
相反,嘗試:
df.loc[indexList, 'Col'] = 'x'
然後,你將不會是「讓」,而是「設置」中的indexList子集,從而避免了複製數據的結果。
您的第一個選項完美運作。第二個只有在'Col'已經定義並且觸發警告時才起作用。謝謝 ! – dominic111
@ dominic111:不客氣 - 我刪除了第二個選項,我發現它現在不適合你。 –