【发布时间】:2014-10-03 07:17:03
【问题描述】:
我正在使用包含两列整数的 pandas df。对于 df 的每个数据,我想选择这两个整数,将它们用作 [row,column] 对以从 np.array 中提取值并使用提取的值创建一个新的 np.array。
更详细地说,我的 df 包含以下条目:
State FutureState
DATE
1947-10-01 0 0
1948-01-01 0 1
1948-04-01 1 1
1948-07-01 1 1
对于每个Date,我想选择 [State,FutureState] 对并从以下 np.array 中提取相应的 [row,column] 项,称为P:
array([[ 0.7, 0.3],
[ 0.4, 0.6]])
使用这些值,我想创建一个名为 Transition 的新 np.array,其中包含以下值:
[P[0,0],P[0,1],P[1,1],P[1,1]] = [0.7, 0.3, 0.6, 0.6]
用作数组P 索引的[0,0], [0,1], [1,1] [1,1] 对是每个日期的[State,FutureState] 的值(1947-10-01、1948-01-01、1948-04-01、1948-07- 01)。
我已经尝试了很多不同的方法来解决我的问题,但都无济于事。有人可以建议如何成功创建Transition 向量吗?
【问题讨论】:
-
抱歉有点不清楚你在问什么,你能提供更多信息吗,例如你从哪里得到 p[0,1] 值,因为不清楚这是哪个日期的例子
-
@EdChum:感谢您的评论,请原谅我的困惑。我在
[P[0,0],P[0,1],P[1,1],P[1,1]] = [0.7, 0.3, 0.6, 0.6]行下方添加了一行。这足以让我的问题更清楚吗? -
这可行,但我对 numpy 整形不太熟悉:
P[df.values.reshape([4,2])[1]]
标签: python arrays numpy pandas