【发布时间】:2024-04-29 05:10:04
【问题描述】:
如果我有两个 numpy 数组 np.full(10,1) 和 np.full(10,2),那么创建 pandas 系列的最有效方法是什么?
现在我会首先创建一个 pandas DataFrame 并将其转换为 pd.Series:
check = pd.DataFrame([np.full(10,1), np.full(10,2)])
check.transpose().unstack().reset_index(drop=True)
Out[0]:
0 1
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
10 2
11 2
12 2
13 2
14 2
15 2
16 2
17 2
18 2
19 2
dtype: int64
这似乎效率极低,那么最聪明的方法是什么?
【问题讨论】:
-
np.hstack可以将这些数组合并为一个。 -
使用字典键和值,其中每个值都是一个系列,然后使用字典创建数据框
-
1.在numpy中合并数据,2.直接构造Pandas
Series而不是DataFrame。 pd.Series(np.hstack((np.full(10,1), np.full(10,2))))