我有一个pandas DataFrame如下:
pd.DataFrame({'A': [[1,2],[3,5],[4,84]] },index=[0,1,0])
Out[690]:
A
0 [1, 2]
1 [3, 5]
0 [4, 84]
我想得到什么:
[r[i:i+2] for i, r in zip(df.index, df.A)]
Out[695]: [[1, 2], [3, 5], [4, 84]]
截至目前的方法:
apply
然而,当我尝试使用lambda
df[['A']].apply(lambda x : x[(x.index):(x.index+2)])
时,我感到迷茫.....并且无法获得预期的输出
到目前为止,我已经尝试过:
SELECT columnName FROM mytable
你能帮助我吗,谢谢你。
答案 0 :(得分:3)
a = np.array(df.A.values.tolist())
i = np.arange(len(df))[:, None]
j = np.arange(2) + df.index.values[:, None]
pd.DataFrame(dict(A=a[i, j].tolist()), df.index)
A
0 [1, 2]
1 [3, 5]
0 [4, 84]