Python 从数据帧生成二维数组

Python 从数据帧生成二维数组,python,arrays,pandas,Python,Arrays,Pandas,我这里有一个熊猫数据框,有两列:参与者姓名和反应时间(注意,一个参与者有更多的RT度量) 我想从这里得到一个2d数组,其中每一行包含一个参与者的反应时间 [[1,2,1,2] [3,4,3,4,4]] 如果不可能有这样的形状,我可以接受以下获得良好a x b形状的选项:用NaN填充缺少的元素;将较长的行截断为较短行的大小;在较短的行中填入重复的平均值 我会选择最容易实现的方法 我曾尝试使用groupby来解决这个问题,我希望这很容易做到,但一切都变得非常糟糕:( 输出: 0 1 2

我这里有一个熊猫数据框,有两列:参与者姓名和反应时间(注意,一个参与者有更多的RT度量)

我想从这里得到一个2d数组,其中每一行包含一个参与者的反应时间

[[1,2,1,2]
[3,4,3,4,4]]
如果不可能有这样的形状,我可以接受以下获得良好a x b形状的选项:用NaN填充缺少的元素;将较长的行截断为较短行的大小;在较短的行中填入重复的平均值

我会选择最容易实现的方法

我曾尝试使用groupby来解决这个问题,我希望这很容易做到,但一切都变得非常糟糕:(

输出:

    0  1  2  3   4
ID                 
bar  3  4  3  4   4
foo  1  2  1  2 NaN
输出:

    0  1  2  3   4
ID                 
bar  3  4  3  4   4
foo  1  2  1  2 NaN

太棒了!这似乎正是我想要的!遗憾的是pandas没有提供任何更直接的方式来实现此功能…还有一件事:如果我感兴趣的列名中有一个空格('reaction times'而不是'RT')?试试:
df.groupby(“ID”)[“reaction times”]…
awesome!这似乎正是我想要的!遗憾的是pandas没有提供任何更直接的方法来实现此功能…还有一件事:如果我感兴趣的列名中有空格('reaction times'而不是'RT')?请尝试:
df.groupby(“ID”)[“reaction times”]…
    0  1  2  3   4
ID                 
bar  3  4  3  4   4
foo  1  2  1  2 NaN