我有一个数据帧,其中有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,)