[英]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.