Pandas将列值连接为跨列的列表,然后将整个数据帧转储到numpy数组中



我有一个数据帧,其中有10列,每个元素的列表长度为40。我如何将它们转换为形状的numpy数组(-1400(。列(单击此链接查看该列(

尝试:df.apply()+numpy.concatenate()+to_numpy():

import numpy as np
df.apply(lambda x: np.concatenate(x), axis=1).to_numpy()

试运行

定义一个具有3行10列的数据帧,每个元素的长度为40:

data = [[list(range(40))] * 10] * 3
cols = list(range(10))
df = pd.DataFrame(data, columns=cols)

结果:

整体提取形状:

df.apply(lambda x: np.concatenate(x), axis=1).to_numpy().shape
(3,)

每排形状:

df.apply(lambda x: np.concatenate(x), axis=1).to_numpy()[0].shape
(400,)

最新更新