稍后我使用X行(对应于我原始DataFrame的行)进行最近邻查询,当我想要显示一个向量的最近邻居的文本名称时,我在X中使用向量的整数位置这个:
>>> print "Nearest neighbor's name is",df.iloc[position_in_x,:]['my_name']
这是一个不好的举动,或者只要我没有在DataFrame中添加或删除,DataFrame中的整数位置是否可以被视为静态?
我想知道其他人是如何处理的.我遇到的一个解决方案是将X的行向量作为df中的新列.
谢谢!
解决方法 在这种情况下我不确定iloc,但如果你想要更严格 – 你可以随时使用 selection by label和loc属性.即使您更改了行的排序,也可以在添加新行之后使用它. Loc按索引选择行(不是像iloc这样的整数位),在默认情况下,它只是numpy矩阵中的行索引.In [132]: df1Out[132]: x y events0 5 20 2 7 22 4 9 24 In [133]: df2Out[133]: x y events1 6 21 3 8 23 In [134]: df3 = df1.append(df2)In [135]: df3Out[135]: x y events0 5 20 2 7 22 4 9 24 1 6 21 3 8 23 In [137]: df3.loc[3,:]Out[137]: x 8y 23events name: 3,dtype: object
Also related
总结以上是内存溢出为你收集整理的python – 将DataFrame的整数索引和生成的SciPy矩阵视为同一个坏主意吗?全部内容,希望文章能够帮你解决python – 将DataFrame的整数索引和生成的SciPy矩阵视为同一个坏主意吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)