繁体   English   中英

Pandas dataframe 加入所有元素

[英]Pandas dataframe join on all elements

我正在尝试在 pandas 中加入两个数据帧。 一个 dataframe 在一列中包含 URL,其中包含重复项(相同的值重复)。

第二个 dataframe 包含这些 URL 的一些属性,但只有唯一的 URL,没有重复。

我正在尝试返回 map 或加入两个数据帧,我在第一个 dataframe 中获取 URL 的这些属性,以获取所有出现的 URls。

示例:数据框 1: 第一个带有重复 URL 的数据框

数据框2: 数据框,其中来自 datafram1 的唯一 URL 具有 URL 的某些属性

结果数据框: 结果数据框,其中所有 URL 的所有重复出现都将属性映射到自身

如何做到这一点? 哪个特别加盟| 连接 | 或合并方法用于组合所有行上的数据框。

上面的 dataframe 只是示例,实际的 dataframe 有 300 多个唯一 URL,第一个 dataframe 有 1000 行。

我试过内连接和外连接,都不行。

这是一个应该直接适用的工作示例。

import pandas as pd

df = pd.DataFrame(zip([1,2,3,2,3,1],[7,8,9,10,11,12]),columns=["A","B"])
print(df)
df2 = pd.DataFrame(zip([1,2,3],["foo","baz","bar"]),columns=["A","X"])
print(df2)
df3 = df.join(df2.set_index('A'), on='A')
print(df3)

您将使用类似dataframe1.join(dataframe2.set_index("url"),on="url")

暂无
暂无

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

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