首页
学习
活动
专区
工具
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数据框架中进行多列自连接,并使用新列创建新框架的方法。这种方法可以用于处理需要在多个列上进行自连接的情况,通过选择需要的列,可以创建包含来自右侧的信息的新数据框架。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

对比Excel,更强大Python pandas筛选

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

3.9K20

合并多个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.7K20

软件工程 怎样建立甘特图

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

5K20

Excel与pandas使用applymap()创建复杂计算

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

3.8K10

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

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

6K80

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

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

3.3K30

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

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

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

2.8K20

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。

8.2K41

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

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

7.4K20

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

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

4.2K30

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

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

3.3K20

懂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

懂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

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.1K10

一文带你看懂Python数据分析利器——Pandas前世今生

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

85430

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

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

2.6K30

在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
领券