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