arrays - 从数组列表和列表生成数据框?
问题描述
我有以下列表和 numpy 数组列表:
x = [np.array([5.50000002, 6.69999989]),
np.array([4.83736559, 7. ]),
np.array([0.44784402, 1.49999997, 4.18910619]),
np.array([0.1 , 2.30000004, 3.30995852])]
y = [2, 3, 4, 5]
我想生成以下格式的熊猫数据框:
df =
x y
5.50000002 2
6.69999989 2
4.83736559 3
7 3
0.44784402 4
1.49999997 4
4.18910619 4
0.1 5
2.30000004 5
3.30995852 5
当我可以预期 x 和 y 非常大时,最快的方法是什么?
解决方案
尝试使用concatenate
和repeat
:
pd.DataFrame({'x':np.concatenate(x),
'y':np.repeat(y,[len(a) for a in x])})
输出:
x y
0 5.500000 2
1 6.700000 2
2 4.837366 3
3 7.000000 3
4 0.447844 4
5 1.500000 4
6 4.189106 4
7 0.100000 5
8 2.300000 5
9 3.309959 5
推荐阅读
- c# - NavigationView - 使用 C# 添加菜单项会导致 NavigationViewItem 嵌套在生成的 NavigationViewItem 中
- python - 是否有计算产品的有效函数?
- ios - 如何在以编程方式创建实体时设置 NSManagedObjectModel 的配置。
- xcode - Xcode 10 中没有 Objects Library 按钮,只有 Snippets Library
- haskell - 如何在 Yesod 中为 selectField 构建预选选项?
- javascript - 检查至少两个数组值是否相等
- javascript - 理解 javascript 分页数学问题
- c# - 使用 .Net Core 渲染网页,类似于 Node 和 Express 以及视图引擎
- pandas - Pandas - 使用 groupby 扩展均值
- c++ - 需要一个使用 dht_put_item 和 libtorrent 的示例