Noob問題。我想給一個Pandas DataFrame的已定義切片分配一個值,但是我無法從警告文本中找出錯誤消息指出如何正確實現這一點。將數值分配給Pandas DataFrame中的範圍
錯誤消息: SettingWithCopyWarning: 值正試圖從一個數據幀
查看文檔中的告誡對切片的副本設置:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
我的失敗代碼:
df.ix[0]["points"] = 1
df.ix[1:2]["points"] = 2
df.ix[3:8]["points"] = 3
這樣做的正確方法是什麼?
UPDATE:
如下@Delforge意見,以下工作:
df.loc[0, ("points")] = 1
df.loc[1:2, ("points")] = 2
您能否提供樣本輸入和輸出表? – jgloves
嘗試使用'pd.DataFrame.loc'。例如:'df.loc [1:2,(「點」)] = 2' – Delforge
注意的.loc是嚴格時本切片器是不與索引類型兼容(或可轉換)。例如在DatetimeIndex中使用整數。這會引發TypeError。 http://pandas.pydata.org/pandas-docs/stable/indexing.html – jgloves