数组(numpy)和索引(pandas)对象之间的区别?

Difference between an array (numpy) and an index (pandas) object?

我对索引对象(例如您将从 df.index 获得的内容)和数组对象(例如 df.index.values(其中 df 是 pandas数据框)

在哪些情况下我应该使用一个而不是另一个?

谢谢

df.indeximmutable,因此您无法更改它。例如,如果您创建一个索引对象,然后尝试修改一个元素:

test_index = pd.Index([1, 2, 3])
test_index[0] = 2 

这将抛出一个 TypeError: Index does not support mutable operations

您应该使用索引对象还是数组将取决于您的用例,因此您的问题有点开放性。如果你想提取索引值然后出于某种原因修改它们,那么你会想要使用 df.index.values,但如果你正在检查索引中的值,那么任何一个都可以。