Python 使用根据数据帧中的条件选择的Numpy数组中的值创建向量

Python 使用根据数据帧中的条件选择的Numpy数组中的值创建向量,python,arrays,numpy,pandas,Python,Arrays,Numpy,Pandas,我正在使用一个包含两列整数的数组。对于df的每个数据,我想选择这两个整数,将它们用作[row,column]对,从np.array中提取值,并使用提取的值创建一个新的np.array 更详细地说,my df包含以下条目: State FutureState DATE 1947-10-01 0 0 1948-01-01

我正在使用一个包含两列整数的数组。对于df的每个数据,我想选择这两个整数,将它们用作[row,column]对,从np.array中提取值,并使用提取的值创建一个新的np.array

更详细地说,my df包含以下条目:

             State  FutureState
DATE                                                         
1947-10-01       0            0
1948-01-01       0            1
1948-04-01       1            1
1948-07-01       1            1
对于每个
日期
,我想选择[State,FutureState]对,并从以下名为
p
的np.array中提取相应的[row,column]项:

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]
是每个日期(1947-10-01、1948-01-01、1948-04-01、1948-07-01)的
[State、FutureState]

我已经试着用很多不同的方法来解决我的问题,但都没有用。有人能建议如何成功创建
转换
向量吗

这个怎么样

df.apply(lambda x:P[x[0],x[1]], axis=1)
它按照您所描述的那样,沿
df
行(因此应用于
axis=1
),并使用条目作为索引,以便在
p
中进行选择

p[df.State, df.FutureState]
以下是完整的代码:

import io
import pandas as pd
import numpy as np

txt = """             State  FutureState                                                        
1947-10-01       0            0
1948-01-01       0            1
1948-04-01       1            1
1948-07-01       1            1"""

df = pd.read_csv(io.BytesIO(txt), delim_whitespace=True)
p = np.array([[ 0.7,  0.3], [ 0.4,  0.6]])
p[df.State, df.FutureState]

抱歉,您的问题有点不清楚,您能否提供更多信息,例如,您从哪里获得p[0,1]值,因为不清楚这是一个示例的哪个日期for@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.reformate([4,2])[1]