繁体   English   中英

将矩阵转换为具有三列的 Dataframe

[英]Convert matrix to Dataframe with three columns

我有两个数据框(“x”和“y”),它们定义了一个网格(或坐标)和第三个数据框,它们具有各自的值(“z”)。 它们是二维插值的结果。

import pandas as pd

df_x = pd.DataFrame(["a", "b", "c"])
df_y = pd.DataFrame(["alpha", "beta", "gamma"])
df_z = pd.DataFrame([1, 2, 3, 4, 5, 6,...9])

要继续,我想将一个 Dataframe 中的所有数据与以下(更像是类似数据库)结构合并:

df_new = pd.DataFrame({'x': ["a", "a", "a", "b", "b", "b", "c", "c", "c"], 'y': ["alpha", "beta", "gamma", "alpha", "beta", "gamma", "alpha", "beta", "gamma"], 'z': [1,2,3,4,5,6,7,8,9]})
X 是的 z
一个 α 1
一个 测试版 2
一个 伽玛 3
b α 4
b 测试版 5
b 伽玛 6
C α 7
C 测试版 8
C 伽玛 9

必须有一种简单的方法来重新排列数据框,对吧? 对于这类问题,什么是一个好的标签(没有,搜索不是很有价值)?

非常感谢 :)

Ps.:我找到了一些R的答案,但没有找到 Python 的答案。

检查merge

out = df_x.merge(df_y,how='cross').join(df_z)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM