2015-10-23 54 views
0

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 
+0

您能否提供樣本輸入和輸出表? – jgloves

+3

嘗試使用'pd.DataFrame.loc'。例如:'df.loc [1:2,(「點」)] = 2' – Delforge

+0

注意的.loc是嚴格時本切片器是不與索引類型兼容(或可轉換)。例如在DatetimeIndex中使用整數。這會引發TypeError。 http://pandas.pydata.org/pandas-docs/stable/indexing.html – jgloves

回答