python – 将DataFrame的整数索引和生成的SciPy矩阵视为同一个坏主意吗?

python – 将DataFrame的整数索引和生成的SciPy矩阵视为同一个坏主意吗?,第1张

概述我有一个管道,它接受一个pandas DataFrame,df,有几个文本列,将它们连接成一个文档,并对文档进行矢量化,产生一个scipy.sparse.csr_matrix,让我们称之为X. 稍后我使用X行(对应于我原始DataFrame的行)进行最近邻查询,当我想要显示一个向量的最近邻居的文本名称时,我在X中使用向量的整数位置这个: >>> print "Nearest neighbor's 我有一个管道,它接受一个pandas DataFrame,df,有几个文本列,将它们连接成一个文档,并对文档进行矢量化,产生一个scipy.sparse.csr_matrix,让我们称之为X.

稍后我使用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矩阵视为同一个坏主意吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1195979.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存