如何将Pandas系列转换为Numpy阵列并维持秩序?

时间:2019-04-03 14:34:01

标签: python pandas numpy

我有一个pandas系列,看起来像:

cash          50121.599128
num_shares      436.000000
cost_basis      114.400002
open_price      113.650002
close_10        114.360001
close_9         115.769997
close_8         114.800003
close_7         114.040001
close_6         115.680000
close_5         115.930000
close_4         115.430000
close_3         113.339996
close_2         114.870003
close_1         114.050003
dtype: float64

我想将其转换为numpy数组,所以我在做:

next_state_val = np.array([next_state.values])

但是,不能保证我的series将始终具有相同的顺序。如何在多个系列中保持相同的顺序?

2 个答案:

答案 0 :(得分:4)

假设索引始终相同(但不一定以相同的顺序出现),则可以在序列上使用.sort_index()。这样可以确保该系列每次都按其索引一致地排序。

https://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.Series.sort_index.html

答案 1 :(得分:1)

如果我正确理解了文档,则.values方法将返回一个数组并保留顺序。