python – “合并”numpy数组和一个共同的维度
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – “合并”numpy数组和一个共同的维度,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1477字,纯文字阅读大概需要3分钟。
内容图文
![python – “合并”numpy数组和一个共同的维度](/upload/InfoBanner/zyjiaocheng/705/11a00fc342e9419eaba0c751f53c7b4d.jpg)
参见英文答案 > Pandas Merging 101 2个
我有两个matricies,对应于数据点(x,y1)和(x,y2):
x | y1
------------
0 | 0
1 | 1
2 | 2
3 | 3
4 | 4
5 | 5
x | y2
----------------
0.5 | 0.5
1.5 | 1.5
2.5 | 2.5
3.5 | 3.5
4.5 | 4.5
5.5 | 5.5
我想创建一个新的矩阵,将x值组合成一个列,并在相应的y1,y2列中包含NaN:
x | y1 | y2
-----------------------------
0 | 0 | NaN
0.5 | NaN | 0.5
1 | 0 | NaN
1.5 | NaN | 1.5
... | ... | ...
5 | 5 | NaN
5.5 | NaN | 5.5
是否有捷径可寻?我是Python和NumPy(来自MATLAB)的新手,我不确定我是怎么开始的. (作为参考,我在MATLAB中对此的处理方法是对array2table生成的两个表使用outerjoin.)
解决方法:
如果您可以将数据加载到单独的pandas数据帧中,这就变得简单了.
df
x y1
0 0 0
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
df2
x y2
0 0.5 0.5
1 1.5 1.5
2 2.5 2.5
3 3.5 3.5
4 4.5 4.5
5 5.5 5.5
执行外部合并,并对x列进行排序.
df = df.merge(df2, how='outer').sort_values('x')
df
x y1 y2
0 0 0 NaN
6 0.5 NaN 0.5
1 1 1 NaN
7 1.5 NaN 1.5
2 2 2 NaN
8 2.5 NaN 2.5
3 3 3 NaN
9 3.5 NaN 3.5
4 4 4 NaN
10 4.5 NaN 4.5
5 5 5 NaN
11 5.5 NaN 5.5
如果需要数组,请在结果上调用.values:
df.values
array([[0.0, 0.0, nan],
[0.5, nan, 0.5],
[1.0, 1.0, nan],
[1.5, nan, 1.5],
[2.0, 2.0, nan],
[2.5, nan, 2.5],
[3.0, 3.0, nan],
[3.5, nan, 3.5],
[4.0, 4.0, nan],
[4.5, nan, 4.5],
[5.0, 5.0, nan],
[5.5, nan, 5.5]], dtype=object)
内容总结
以上是互联网集市为您收集整理的python – “合并”numpy数组和一个共同的维度全部内容,希望文章能够帮你解决python – “合并”numpy数组和一个共同的维度所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。