从对象列表创建pandas DataFrame并操纵这些对象

时间:2017-07-02 09:44:44

标签: python pandas

我有一个包含5个矩阵的列表:

import numpy as np
import pandas as pd
a=[(np.random.randint(2,size=(2,3))) for i in xrange(5)]

如何使用包含每行matrrix的单个列创建5条记录的pandas DataFrame?

1 个答案:

答案 0 :(得分:2)

您可以通过运行:

来创建数据框
df= pd.DataFrame({'array':a})

输出:

   array
0  [[0, 0, 0], [0, 0, 0]]
1  [[0, 1, 1], [0, 0, 0]]
2  [[1, 0, 0], [0, 1, 1]]
3  [[1, 0, 1], [1, 0, 0]]
4  [[0, 0, 0], [0, 0, 1]]

如果您想在列上应用cumsum,可以使用apply

df['array']=df['array'].apply(np.cumsum)

输出:

                array
0  [0, 0, 0, 0, 0, 0]
1  [0, 1, 2, 2, 2, 2]
2  [1, 1, 1, 1, 2, 3]
3  [1, 1, 2, 3, 3, 3]
4  [0, 0, 0, 0, 0, 1]