首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在多个列上自连接pandas数据框架,并使用新列创建新框架(新列仅包含来自右侧的信息)

在pandas数据框架中进行多列自连接,并使用新列创建新框架的方法如下:

  1. 首先,导入pandas库并读取数据到数据框架中:
代码语言:txt
复制
import pandas as pd

# 读取数据到数据框架
df = pd.read_csv('data.csv')
  1. 然后,使用merge函数进行自连接操作,指定左右连接的列:
代码语言:txt
复制
# 自连接操作
new_df = pd.merge(df, df, left_on='column1', right_on='column2', suffixes=('_left', '_right'))

在上述代码中,column1column2是要进行自连接的列名,suffixes参数用于指定新列的后缀,以区分左右连接的列。

  1. 接下来,创建新的数据框架,只包含来自右侧的信息:
代码语言:txt
复制
# 创建新的数据框架
new_df = new_df[['column1_left', 'column2_left', 'column3_right', 'column4_right']]

在上述代码中,column1_leftcolumn2_left是左连接的列,column3_rightcolumn4_right是右连接的列,通过选择这些列来创建新的数据框架。

完整的代码示例:

代码语言:txt
复制
import pandas as pd

# 读取数据到数据框架
df = pd.read_csv('data.csv')

# 自连接操作
new_df = pd.merge(df, df, left_on='column1', right_on='column2', suffixes=('_left', '_right'))

# 创建新的数据框架
new_df = new_df[['column1_left', 'column2_left', 'column3_right', 'column4_right']]

以上是在pandas数据框架中进行多列自连接,并使用新列创建新框架的方法。这种方法可以用于处理需要在多个列上进行自连接的情况,通过选择需要的列,可以创建包含来自右侧的信息的新数据框架。

相关搜索:使用框架中的列数据创建新列如何在pandas数据框架中创建新列作为现有列的函数?Python、pandas:基于多个其他列对列求和,并将其放入新的数据框架中如何使用pandas数据框架定义新列中的值分类函数?如何基于数据框架(pivot或unpivot?)中的列值在pandas中创建新列。如何在pandas数据透视表中创建仅包含已填充列的匹配值的新列?对两列进行排序,并使用pandas为来自dataframe的排序值创建新列如何使用pandas/python创建多个新列,并根据其他两个列中的值填充列?pandas对多个列进行分组,并选择新数据帧中group by使用的所有列在创建合并多个列的新列时,如何在pandas中多次透视数据帧?R:如何在一列中创建多个新值,并使用其他列中的数据为每个新值重复行?如何将两个pandas列连接在一起并使用该行创建新的列?Pandas:如何在pandas数据框架中的列上使用map来创建新列?使用lambda函数执行此操作时遇到问题如何使用Scala在Spark中创建仅包含列名和数据类型的新空列如何在Scala Spark中使用带有多个条件的".withColumn“为数据集创建新列Python Pandas -包含多个列的数据集-希望迭代每列,仅将非空字段中的行值添加到新列表中如何使用矢量化方法将创建多个新列的函数应用到pandas数据帧?使用pandas和python根据单元格内容组合来自不同行的数据,并基于单元格值创建新列如何在pandas中创建新列,并根据第二列是否包含各种字符串列表中的字符串来设置其值有没有一种方法可以在多个列之间进行pandas关联,并在相同的数据帧上使用result创建新的列?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

对比Excel,更强大的Python pandas筛选

准备用于演示的数据框架 同样,我们使用原来用过的世界500强数据集。首先,我们将激活pandas并从百度百科加载数据。...基本引用如下所示: df.loc[column == ‘条件’] 图1 结果是一个新的数据框架,包含110家属于中国的公司。...如果不需要新数据框架中的所有列,只需将所需的列名传递到.loc[]中即可。例如,仅需要选择最新排名、公司名称和营业收入,我们可以执行以下操作。注意,它只返回我们指定的3列。...图2 发生了什么(原理) 了解事情究竟是怎么发生的很重要,这将帮助我们理解如何在pandas上使用筛选。...在现实生活中,我们经常需要根据多个条件进行筛选,接下来,我们将介绍如何在pandas中进行一些高级筛选。

3.9K20

软件工程 怎样建立甘特图

单击“日期”选项卡,然后选择所需的选项。 注释:“主要单位”是您要在图表中使用的最长时间单位(如年或月),“次要单位”是最短时间单位(如日或小时)。...提示 要记录与每一任务有关的其他数据,您可以添加更多的列。例如,您可以添加“资源”列,以便您的甘特图反映出每个任务的负责人。 给甘特图添加数据 您可以将反映项目日程详细信息的数据填入框架。...目的 采取的操作 更改任务名称 单击包含该任务的“任务名称”列中的单元格,然后键入新名称。 设置或更改任务工期 在包含要更改日期或工期的甘特图框架中,单击单元格,然后键入新信息。  ...如果要在甘特图中记录并显示其他任务数据,可以添加新列。...image.png ​默认情况下,新的甘特图在创建时将包含“任务名称”列、“开始时间”列、“完成时间”列和“工期”列。您可以重新安排现有列、添加新列或删除不再需要的列。

5.1K20
  • Excel与pandas:使用applymap()创建复杂的计算列

    标签:Python与Excel,pandas 我们之前讨论了如何在pandas中创建计算列,并讲解了一些简单的示例。...通过将表达式赋值给一个新列(例如df['new column']=expression),可以在大多数情况下轻松创建计算列。然而,有时我们需要创建相当复杂的计算列,这就是本文要讲解的内容。...记住,我们永远不应该循环遍历pandas数据框架/系列,因为如果我们有一个大的数据集,这样做效率很低。...pandas applymap()方法 pandas提供了一种将自定义函数应用于列或整个数据框架的简单方法,就是.applymap()方法,这有点类似于map()函数的作用。...图3 我们仍然可以使用map()函数来转换分数等级,但是,需要在三列中的每一列上分别使用map(),而applymap()能够覆盖整个数据框架(多列)。

    3.9K10

    合并多个Excel文件,Python相当轻松

    每个Excel文件都有不同的保险单数据字段,如保单编号、年龄、性别、投保金额等。这些文件有一个共同的列,即保单ID。...图5:pandas数据框架,看起来就像Excel电子表格一样 pandas有一个方法.merge()来高效地合并多个数据集。...注意,在第一个Excel文件中,“保险ID”列包含保险编号,而在第二个Excel文件中,“ID”列包含保险编号,因此我们必须指定,对于左侧数据框架(df_1),希望使用“保险ID”列作为唯一键;而对于右侧的数据框架...有两个“保单现金值”列,保单现金值_x(来自df_2)和保单现金值_y(来自df_3)。当有两个相同的列时,默认情况下,pandas将为列名的末尾指定后缀“_x”、“_y”等。...默认情况下,merge()执行”内部”合并,使用来自两个数据框架的键的交集,类似于SQL内部联接。

    3.8K20

    python数据分析笔记——数据加载与整理

    Python数据分析——数据加载与整理 总第47篇 ▼ (本文框架) 数据加载 导入文本数据 1、导入文本格式数据(CSV)的方法: 方法一:使用pd.read_csv(),默认打开csv文件。...5、文本中缺失值处理,缺失数据要么是没有(空字符串),要么是用某个标记值表示的,默认情况下,pandas会用一组经常出现的标记值进行识别,如NA、NULL等。查找出结果以NAN显示。...当两个对象的列名不同时,即两个对象没有共同列时,也可以分别进行指定。 Left_on是指左侧DataFrame中用作连接的列。 right_on是指右侧DataFrame中用作连接的列。...(2)对于pandas对象(如Series和DataFrame),可以pandas中的concat函数进行合并。...(2)将‘长格式’旋转为‘宽格式’ 2、转换数据 (1)数据替换,将某一值或多个值用新的值进行代替。(比较常用的是缺失值或异常值处理,缺失值一般都用NULL、NAN标记,可以用新的值代替缺失标记值)。

    6.1K80

    盘点 Pandas 中用于合并数据的 5 个最常用的函数!

    作者:阿南 整理:小五 如何在Pandas合并数据,大家肯定都不陌生。 作为一个初学者,我发现自己学了很多,却没有好好总结一下。...正好看到一位大佬 Yong Cui 总结的文章,我就按照他的方法,给大家分享用于Pandas中合并数据的 5 个最常用的函数。这样大家以后就可以了解它们的差异,并正确使用它们了。...df0.join(df1) 当索引不同时,join连接默认保留来自左侧 DataFrame 的行。...append 函数专门用于将行附加到现有 DataFrame 对象,创建一个新对象。我们先来看一个例子。...他们分别是: concat[1]:按行和按列 合并数据; join[2]:使用索引按行合 并数据; merge[3]:按列合并数据,如数据库连接操作; combine[4]:按列合并数据,具有列间(相同列

    3.4K30

    Python数据处理从零开始----第二章(pandas)⑨pandas读写csv文件(4)

    如何在pandas中写入csv文件 我们将首先创建一个数据框。我们将使用字典创建数据框架。...image.png 如上图所示,当我们不使用任何参数时,我们会得到一个新列。此列是pandas数据框中的index。我们可以使用参数index并将其设置为false以除去此列。...如何将多个数据帧读取到一个csv文件中 如果我们有许多数据帧,并且我们想将它们全部导出到同一个csv文件中。 这是为了创建两个新的列,命名为group和row num。...重要的部分是group,它将标识不同的数据帧。在代码示例的最后一行中,我们使用pandas将数据帧写入csv。...列表中的keys参数(['group1'、'group2'、'group3'])代表不同数据框来源。我们还得到列“row num”,其中包含每个原数据框的行数: ? image.png

    4.3K20

    Python让Excel飞起来:使用Python xlwings实现Excel自动化

    xlwings就像胶水一样,将两者连接到一起,让我们能够同时拥有两者最好的一面。 你可以使用xlwings+Python执行下列任务: 1.使用Python自动化Excel,例如生成报告。...data = sheet.range('B3:C8').value 图7 如果要将Excel数据作为pandas数据框架读入Python,代码如下。...) .expand()自动检测数据的维度,.options()指定我们需要pandas数据框架。...我们在末尾重置了索引,因此x轴将被视为列,而不是数据框架索引。 图8 数据已经读入到Python,我们可以生成一个图形,然后将其放入Excel文件中。...接下来,保存VBA代码,现在我们要在Excel工作表中创建一个按钮。返回Excel界面,在“开发工具”选项卡,单击“插入->按钮”,并指定刚创建的宏Rand_10。

    9.7K41

    对比Excel,Python pandas在数据框架中插入列

    我们已经探讨了如何将行插入到数据框架中,并且我们必须为此创建一个定制的解决方案。将列插入数据框架要容易得多,因为pandas提供了一个内置的解决方案。我们将看到一些将列插入到数据框架的不同方法。...该方法接受以下参数: loc–用于插入的索引号 column–列名称 value–要插入的数据 让我们使用前面的示例来演示。我们的目标是在第一列之后插入一个值为100的新列。...注意,此方法还可以通过向原始df添加一个新列来覆盖它,这正是我们所需要的。但是,使用此方法无法选择要添加新列的位置,它将始终添加到数据框架的末尾。...例如,df[['列1','列2','列3']]将为我们提供一个包含三列的数据框架,即“列1”、“列2”和“列3”。最好的情况是,列顺序与你键入这些名称的顺序完全相同。...图5 插入多列到数据框架中 insert()和”方括号”方法都允许我们一次插入一列。如果需要插入多个列,只需执行循环并逐个添加列。

    2.9K20

    Pandas 学习手册中文第二版:11~15

    连接是将来自两个或多个 Pandas 对象的数据组合到一个新对象中的过程。...合并通过在一个或多个列或行索引中查找匹配值来合并两个 Pandas 对象的数据。 然后,基于应用于这些值的类似关系数据库的连接语义,它返回一个新对象,该对象代表来自两者的数据的组合。...然后,它为每组匹配的标签在结果​​中创建一行。 然后,它将来自每个源对象的那些匹配行中的数据复制到结果的相应行和列中。 它将新的Int64Index分配给结果。 合并中的连接可以使用多个列中的值。...有效选项是: inner:这是两个DataFrame对象的键的交集 outer:这是来自两个DataFrame对象的键的并集 left:仅使用左侧DataFrame的键 right:仅使用右侧DataFrame...介绍了拆分应用组合模式,并概述了如何在 Pandas 中实现这种模式。 然后,我们学习了如何基于列和索引级别中的数据将数据分为几组。 然后,我们研究了如何使用聚合函数和转换来处理每个组中的数据。

    3.4K20

    python数据分析万字干货!一个数据集全方位解读pandas

    之前已经使用Pandas Python库导入了CSV文件,并首先查看了数据集的内容。...五、查询数据集 现在我们已经了解了如何根据索引访问大型数据集的子集。现在,我们继续基于数据集列中的值选择行以查询数据。例如,我们可以创建一个DataFrame仅包含2010年之后打过的比赛。...仅包含其中列中的值"year_id"大于的行2010。...接下来要说的是如何在数据分析过程的不同阶段中操作数据集的列。...如可视化尼克斯整个赛季得分了多少分: ? 还可以创建其他类型的图,如条形图: ? 而关于使用matplotlib进行数据可视化的相关操作中,还有许多细节性的配置项,比如颜色、线条、图例等。

    7.4K20

    懂Excel就能轻松入门Python数据分析包pandas(十):查找替换

    后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 前言 Excel 无疑是数据处理的入门工具,他有许多便捷的功能,但是实际工作中的需求往往是越来越"疯狂",今天我们就来看看如何在...案例1 Excel 很容易出现不规范的数据,有时候我们会遇到各列都有些问题值需要批量替换: - 希望把所有 x 替换成"问题数据" Excel 上自然用查找替换,Ctrl + H ,填写查找值与替换值...: - 大部分的异常值是 x ,但有一些是 xx Excel 中可以的查找值可以使用通配符,如下可以解决: - 查找值填 "x*" pandas 中,直接可以使用正则表达式,因此完全难不倒你:...- 参数 regex ,填写正则表达式,"x+" ,表示1个或多个x 案例3 现实往往超出你的想象,部门领导突然跟你说,每列的异常数据替换为"问题[列名]": - 每列的新值都不一样 此时你心里走过一万个草泥马...你说的对,当然有更加灵活方便的方式: - pandas 中可以轻松访问列名字等信息 上面这方法即使换另外一份数据,一句代码都不需要修改即可完成任务!! 你 get 到了吗?

    1.2K20

    《Python for Excel》读书笔记连载12:使用pandas进行数据分析之理解数据

    默认情况下,它们返回沿轴axis=0的系列,这意味着可以获得列的统计信息: 如果需要每行的统计信息,使用axis参数: 默认情况下,缺失值不包括在描述性统计信息(如sum或mean)中,这与Excel...在数据框架的所有行中获取统计信息有时不够好,你需要更细粒度的信息,例如,每个类别的均值,这是下面的内容。 分组 再次使用我们的示例数据框架df,让我们找出每个大陆的平均分数。...为此,首先按洲对行进行分组,然后应用mean方法,该方法将计算每组的均值,自动排除所有非数字列: 如果包含多个列,则生成的数据框架将具有层次索引,即我们前面遇到的多重索引: 可以使用pandas提供的大多数描述性统计信息...这使得跨感兴趣的维度读取摘要信息变得容易。在我们的数据透视表中,会立即看到,在北部地区没有苹果销售,而在南部地区,大部分收入来自橙子。如果要反过来将列标题转换为单个列的值,使用melt。...使用聚合统计数据有助于理解数据,但没有人喜欢阅读一整页数字。为了使信息易于理解,没有什么比创建可视化效果更好的了,这是下一个要介绍的主题。

    4.3K30

    Pandas详解

    因为疲于应付繁杂的财务数据,Wes McKinney便自学Python,并开发了Pandas。大神就是这么任性,没有,就创造。...如果在jupyter notebook里面使用pandas,那么数据展示的形式像excel表一样,有行字段和列字段,还有值。 2....选择数据子集 导入数据后,一般要对数据进行清洗,我们会选择部分数据使用,也就是子集。 在pandas中选择数据子集非常简单,通过筛选行和列字段的值实现。 具体实现如下: 4....创建新列 有时需要通过函数转化旧列创建一个新的字段列,pandas也能轻而易举的实现 image 6....分组计算 在sql中会用到group by这个方法,用来对某个或多个列进行分组,计算其他列的统计值。 pandas也有这样的功能,而且和sql的用法类似。 image 7.

    1.8K65

    Pandas 学习手册中文第二版:1~5

    我们从如何创建和初始化Series及其关联索引开始,然后研究了如何在一个或多个Series对象中操纵数据。 我们研究了如何通过索引标签对齐Series对象以及如何在对齐的值上应用数学运算。...具体而言,在本章中,我们将介绍: 重命名列 使用[]和.insert()添加新列 通过扩展添加列 使用连接添加列 重新排序列 替换列的内容 删除列 添加新行 连接行 通过扩展添加和替换行 使用.drop...如果需要一个带有附加列的新数据帧(保持原来的不变),则可以使用pd.concat()函数。 此函数创建一个新的数据帧,其中所有指定的DataFrame对象均按规范顺序连接在一起。...下面的代码创建了一个新的DataFrame,其中的一列包含了四舍五入的价格。...连接行 可以使用pd.concat()函数并通过指定axis=0将来自多个DataFrame对象的行彼此连接。

    8.3K10

    数据处理入门干货:MongoDB和pandas极简教程

    导读:MongoDB是一个开源文档数据库,旨在实现卓越的性能、易用性和自动扩展。Pandas是受R数据框架概念启发形成的框架。...使用pymongo创建连接 要创建连接,请执行以下操作: import MongoClient from pymongo....这些示例取自现实世界的数据,数据上自然会有一些瑕疵。Pandas是受R数据框架概念启发形成的框架。...要选择列,请使用: fixed_df['Column Header'] 要绘制列,请使用: fixed_df['Column Header'].plot() 要获取数据集中的最大值,请使用以下命令:...本书讨论了如何实现包括局部爬取在内的ETL技术,并应用于高频算法交易和目标导向的对话系统等领域。还有一些机器学习概念的例子,如半监督学习、深度学习和NLP。

    2.7K30

    懂Excel就能轻松入门Python数据分析包pandas(十):查找替换

    后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 前言 Excel 无疑是数据处理的入门工具,他有许多便捷的功能,但是实际工作中的需求往往是越来越"疯狂",今天我们就来看看如何在...案例1 Excel 很容易出现不规范的数据,有时候我们会遇到各列都有些问题值需要批量替换: - 希望把所有 x 替换成"问题数据" Excel 上自然用查找替换,Ctrl + H ,填写查找值与替换值...: - 大部分的异常值是 x ,但有一些是 xx Excel 中可以的查找值可以使用通配符,如下可以解决: - 查找值填 "x*" pandas 中,直接可以使用正则表达式,因此完全难不倒你:...- 参数 regex ,填写正则表达式,"x+" ,表示1个或多个x 案例3 现实往往超出你的想象,部门领导突然跟你说,每列的异常数据替换为"问题[列名]": - 每列的新值都不一样 此时你心里走过一万个草泥马...你说的对,当然有更加灵活方便的方式: - pandas 中可以轻松访问列名字等信息 上面这方法即使换另外一份数据,一句代码都不需要修改即可完成任务!! 你 get 到了吗?

    1.5K10

    在Python中绘图,更丰富,更专业

    Python成为优秀的绘图工具(对比Excel)的一个原因是,可以轻松地从Internet获取数据,然后使用Python进行绘图。如果我们需要使用一些在线数据并想在Excel中绘图,我们该怎么办?...这就是为什么我们应该使用Python进行无缝、轻松的数据提取、操作和绘图! 准备用于演示的数据框架 难道你不认为使用Python从互联网获取数据很容易吗?让我们看看。...我们将使用pandas库来处理数据,仅使用一行代码就可获取转换成类似于表格格式的数据到Python。...如果你想关注特定国家,只需对所需国家应用筛选到数据框架即可。 由于前4列只是地理信息,我们可以去掉它们,只关注每日数字。...pandas提供了一种直接从数据框架绘制图形的便捷方法,我们只需要使用dataframe.plot()。但是必须记住,在绘制后要让matplotlib显示图形,就需要使用plt.show()。

    1.8K20

    直观地解释和可视化每个复杂的DataFrame操作

    每种方法都将包括说明,可视化,代码以及记住它的技巧。 Pivot 透视表将创建一个新的“透视表”,该透视表将数据中的现有列投影为新表的元素,包括索引,列和值。...how参数是一个字符串,它表示四种连接 方法之一, 可以合并两个DataFrame: ' left ':包括df1的所有元素, 仅当其键为df1的键时才 包含df2的元素 。...包括df2的所有元素, 仅当其键是df2的键时才 包含df1的元素 。 “outer”:包括来自DataFrames所有元素,即使密钥不存在于其他的-缺少的元素被标记为NaN的。...“inner”:仅包含元件的键是存在于两个数据帧键(交集)。默认合并。 记住:如果您使用过SQL,则单词“ join”应立即与按列添加相联系。...串联是将附加元素附加到现有主体上,而不是添加新信息(就像逐列联接一样)。由于每个索引/行都是一个单独的项目,因此串联将其他项目添加到DataFrame中,这可以看作是行的列表。

    13.3K20

    Databircks连城:Spark SQL结构化数据分析

    数据科学家们早已熟悉的R和Pandas等传统数据分析框架虽然提供了直观易用的API,却局限于单机,无法覆盖分布式大数据场景。...而右侧的DataFrame却提供了详细的结构信息,使得Spark SQL可以清楚地知道该数据集中包含哪些列,每列的名称和类型各是什么。...上述示例的逻辑极为简单,查询优化器的作用不明显,那么为什么会有加速效果呢?RDD API是函数式的,强调不变性,在大部分场景下倾向于创建新对象而不是修改老对象。...上文讨论分区表时提到的分区剪枝便是其中一种——当查询的过滤条件中涉及到分区列时,我们可以根据查询条件剪掉肯定不包含目标数据的分区目录,从而减少IO。...此外,Spark SQL也可以充分利用RCFile、ORC、Parquet等列式存储格式的优势,仅扫描查询真正涉及的列,忽略其余列的数据。

    1.9K101
    领券