2
對不起,如果這是一個簡單的問題,我試圖尋找一個解決方案,但找不到任何東西。Python Pandas索引
我的代碼是這樣的:
給出ZIP1,創建一個索引來選擇其中的一些計算尚未完成(666)
I = (df['zip1'] == zip1) & (df['Distances'] == 666)
進行觀測(其他郵編)一些計算
distances = calc(zip1,df['zip2'][I])
到目前爲止,我已經檢查了距離變量,正確的值,正確大小的數組。
把距離變量在正確的地方
df['Distances'][I] = distances
但最後一部分更新所有的df['Distances']
變量廢話值與df['zip1']=zip1
,而不是由I
選擇那些所有觀測。
我檢查了df['Distances'][I] = distances
命令之前的布爾數組I
,它看起來很好。任何想法將不勝感激。
您需要使用'.loc'或'.ix'而不是鏈接的配置參見[這裏](HTTP://pandas.pydata .org/pandas-docs/dev/indexing.html#indexing-view-versus-copy)also [related](http://stackoverflow.com/questions/11869910/pandas-filter-rows-of-dataframe-with-運算符鏈),所以正確的用法是'df.loc [l,'距離'] =距離' – EdChum
你有工作示例來測試嗎? –
EdChum的建議工作。有道理,從來不知道這個觀點vs之前複製的東西。謝謝。 – AsianYayaToure