【发布时间】:2020-06-02 16:38:34
【问题描述】:
是否可以从几个一维数组创建一个数据框并将它们作为列放置? 如果我从 1 个 1d 数组创建一个数据框,一切正常:
arr1 = np.array([11, 12, 13, 14, 15])
arr1_arr2_df = pd.DataFrame(data=arr1, index=None, columns=None)
arr1_arr2_df
Out:
0
0 11
1 12
2 13
3 14
4 15
但是,如果将数据帧从 2 个数组中取出,则它们放置的是行:
arr1 = np.array([11, 12, 13, 14, 15])
arr2 = np.array([21, 22, 23, 24, 25])
arr1_arr2_df = pd.DataFrame(data=(arr1,arr2), index=None, columns=None)
arr1_arr2_df
Out:
0 1 2 3 4
0 11 12 13 14 15
1 21 22 23 24 25
我知道我可以通过转置来实现:
arr1_arr2_df = arr1_arr2_df.transpose()
arr1_arr2_df
Out:
0 1
0 11 21
1 12 22
2 13 23
3 14 24
4 15 25
但是有可能从一开始就得到它吗?
【问题讨论】:
-
zip 呢?
arr1_arr2_df = pd.DataFrame(data=(zip(arr1,arr2)), index=None, columns=None) -
因为我们有心情:
pd.DataFrame(dict(enumerate((arr1,arr2))))。但实际上,zip简洁地完成了这项工作
标签: python-3.x pandas numpy dataframe