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

在pandas单元格的列表中查找数字,并从第二个DF返回相应的字符串值

在pandas中,可以使用apply函数和lambda表达式来实现在单元格的列表中查找数字,并从第二个DataFrame返回相应的字符串值。

首先,假设我们有两个DataFrame:df1和df2。df1包含一个名为"Numbers"的列,其中的每个单元格都是一个包含数字的列表。df2包含两列,"Numbers"和"Strings",其中"Numbers"列包含数字,"Strings"列包含相应的字符串值。

以下是实现的代码示例:

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

# 创建示例数据
data1 = {'Numbers': [[1, 2, 3], [4, 5, 6], [7, 8, 9]]}
data2 = {'Numbers': [2, 5, 8], 'Strings': ['String1', 'String2', 'String3']}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

# 定义函数,用于在df2中查找相应的字符串值
def find_string(row):
    number = row['Numbers']
    string = df2[df2['Numbers'] == number]['Strings'].values[0]
    return string

# 在df1中应用函数,查找相应的字符串值
df1['Strings'] = df1['Numbers'].apply(lambda x: find_string({'Numbers': x}))

# 打印结果
print(df1)

运行以上代码,将会输出如下结果:

代码语言:txt
复制
   Numbers  Strings
0  [1, 2, 3]  String1
1  [4, 5, 6]  String2
2  [7, 8, 9]  String3

在这个例子中,我们使用了apply函数和lambda表达式来遍历df1中的每个单元格,并调用find_string函数来查找相应的字符串值。find_string函数通过在df2中查找与数字匹配的行,并返回相应的字符串值。最后,我们将结果存储在df1的新列"Strings"中。

这个方法可以帮助我们在pandas中查找数字,并从第二个DataFrame返回相应的字符串值。

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

相关·内容

通宵翻译Pandas官方文档,写了这份Excel万字肝货操作!

df.sort_values("col1", inplace=True) 数据输入和输出 1. 利用构造一个数据框DataFrame Excel电子表格可以直接输入到单元格。...按排序 Excel电子表格排序,是通过排序对话框完成pandas 有一个 DataFrame.sort_values() 方法,它需要一个列列表来排序。...查找子串位置 FIND电子表格函数返回字符串位置,第一个字符为 1。 您可以使用 Series.str.find() 方法查找字符串字符位置。find 搜索子字符串第一个位置。...填充柄 一组特定单元格按照设定模式创建一系列数字电子表格,这将在输入第一个数字后通过 shift+drag 或通过输入前两个或三个然后拖动来完成。...查找和替换 Excel 查找对话框将您带到匹配单元格 Pandas ,这个操作一般是通过条件表达式一次对整个列或 DataFrame 完成。

19.5K20

针对SAS用户:Python数据分析库pandas

Pandas使用两种设计来表示缺失数据,NaN(非数值)和Python None对象。 下面的单元格使用Python None对象代表数组缺失相应地,Python推断出数组数据类型是对象。...df.columns返回DataFrame列名称序列。 ? 虽然这给出了期望结果,但是有更好方法。...正如你可以从上面的单元格示例看到,.fillna()函数应用于所有的DataFrame单元格。我们可能不希望将df["col2"]缺失替换为零,因为它们是字符串。...fillna()方法查找,然后用此计算替换所有出现NaN。 ? ? 相应SAS程序如下所示。...删除缺失行之前,计算在事故DataFrame丢失记录部分,创建于上面的df。 ? DataFrame24个记录将被删除。

12.1K20

《Python for Excel》读书笔记连载17:使用读写器包进行Excel文件操作(上)

第二个挑战就在等待着你:这些包大多数都需要编写大量代码来读取或写入单元格区域,并且每个包使用不同语法。...数据类型转换 这与前一点有关:切换包时,不仅需要调整代码语法,还需要注意这些包为相同单元格内容返回不同数据类型。例如,对于空单元格,OpenPyXL返回None,而xlrd返回字符串。...要获取单元格,需要打开工作簿,其中data_only=True,其默认为False,这将返回单元格公式: 使用OpenPyXL写入 OpenPyXL在内存构建Excel文件,并在调用save...查找颜色十六进制 要在Excel中找到所需颜色十六进制,单击用于更改单元格填充颜色“填充”下拉列表,然后选择“更多颜色”,选择颜色并在“自定义”选项卡读取其十六进制。...你可以根据你实际情况作相应调整) 这将保存文件vbaProject.bin到运行命令目录,也包括了配套文件xl文件夹提取文件。

3.8K20

Pandas 2.2 中文官方教程和指南(四)

查找子串位置 FIND电子表格函数返回字符串位置,第一个字符为1。 您可以使用Series.str.find()方法字符串查找字符位置。find搜索子字符串第一个位置。...电子表格,这可以通过输入第一个数字后按住 Shift+拖动,或者输入前两个或三个然后拖动来完成。 这可以通过创建一个系列并将其分配给所需单元格来实现。...查找字符串位置 FIND电子表格函数返回字符串位置,第一个字符为1。 您可以使用Series.str.find()方法字符串查找字符位置。find搜索子字符串第一个位置。...电子表格,这可以通过输入第一个数字后按住 Shift+拖动或输入前两个或三个然后拖动来完成。 这可以通过创建一个系列并将其分配给所需单元格来实现。...电子表格,可以输入第一个数字后按住 Shift 并拖动,或者输入前两个或三个然后拖动来完成。 这可以通过创建一个系列并将其分配给所需单元格来实现。

22110

使用Python将PDF转换为Excel

因此,当将数据粘贴到Excel时,我们会看到一块文本被压缩到一个单元格。 当然,我们不希望将单个逐个复制并粘贴到Excel。使用Python,可以只需不到10行代码就可以获得相当好结果。...出于某种原因,tabula在这个页面上检测到8个表,通过查看它们,我们看到第二个表是我们想要提取。因此,我们指定使用[1]获取该列表第二个元素。...图4 我们可以通过执行以下操作替换标题中“\r”: df.columns = df.columns.str.replace('\r',' ') .str返回标题所有字符串,然后可以执行.replace...接着,将干净字符串赋值回数据框架标题(列)。 步骤3:删除NaN 接下来,我们将清除由函数tabula.read_pdf()创建NaN,以便在特定单元格为空时使用。...幸运是,pandas提供了一种方便方法来删除具有NaN行。

3.8K20

用过Excel,就会获取pandas数据框架、行和列

Excel,我们可以看到行、列和单元格,可以使用“=”号或在公式引用这些。...返回索引列表我们例子,它只是整数0、1、2、3。...df.columns 提供列(标题)名称列表df.shape 显示数据框架维度,本例为4行5列。 图3 使用pandas获取列 有几种方法可以pandas获取列。...因为我们用引号将字符串(列名)括起来,所以这里也允许使用带空格名称。 图5 获取多列 方括号表示法使获得多列变得容易。语法类似,但我们将字符串列表传递到方括号。...pandas,这类似于如何索引/切片Python列表。 要获取前三行,可以执行以下操作: 图8 使用pandas获取单元格 要获取单个单元格,我们需要使用行和列交集。

19K60

Pandas图鉴(三):DataFrames

如果简单地Jupyter单元df结果恰好太长(或太不完整),可以尝试以下方法: df.head(5) 或 df[:5] 显示前五行。 df.dtypes返回类型。...还有两个创建DataFrame选项(不太有用): 从一个dict列表(每个dict代表一个行,它键是列名,它相应单元格)。...最后一种情况,该将只切片副本上设置,而不会反映在原始df(将相应地显示一个警告)。 根据情况背景,有不同解决方案: 你想改变原始数据框架df。...所有的算术运算都是根据行和列标签来排列DataFrames和Series混合操作,Series行为(和广播)就像一个行-向量,并相应地被对齐: 可能是为了与列表和一维NumPy向量保持一致...注意:要小心,如果第二个表有重复索引,你会在结果中出现重复索引,即使左表索引是唯一 有时,连接DataFrame有相同名称列。

36420

可能是全网最完整 Python 操作 Excel库总结!

A1 = sheet.range('A1').value print(A1) # 获取横向或纵向多个单元格返回列表 A1_A3 = sheet.range('A1:A3').value print...(A1_A3) # 获取给定范围内多个单元格返回嵌套列表,按行为列表 A1_C4 = sheet.range('A1:C4').value print(A1_C4) # 获取单个单元格 A1...= sheet.range('A1').value print(A1) # 获取横向或纵向多个单元格返回列表 A1_A3 = sheet.range('A1:A3').value print(A1..._A3) # 获取给定范围内多个单元格返回嵌套列表,按行为列表 A1_C4 = sheet.range('A1:C4').value print(A1_C4) 6.3 openpyxl 获取单元格...,解析内容方法基本是 pandas 体系知识点,如 .iloc() .loc() .ix() 等: print(df1.iloc[0:1, [1]]) print(df1.loc['b']) print

8.4K23

在数据框架创建计算列

标签:Python与Excel,pandas Excel,我们可以通过先在单元格编写公式,然后向下拖动列来创建计算列。PowerQuery,还可以添加“自定义列”并输入公式。...图1 pandas创建计算列关键 如果有Excel和VBA使用背景,那么一定很想遍历列中所有内容,这意味着我们一个单元格创建公式,然后向下拖动。然而,这不是Python工作方式。...df[‘公司名称’].str是列字符串,这意味着我们可以直接对其使用字符串方法。通过这种方式进行操作,我们不会一行一行地循环遍历。...因此,days.dt.days只是从timedelta对象返回天数整数值。然后,将这些数字除以365,我们得到一列年数。...处理数据框架NAN或Null单元格为空时,pandas将自动为其指定NAN。我们需要首先考虑这些,因为大多数情况下,pandas不知道如何处理它们。

3.8K20

pandas处理字符串方法汇总

# 5、字符串切割 y.split(" ") # 返回列表形式;里面就是切割后每个元素 ['hello', 'python!', 'hello', 'pandas!']...Mckinney 2008 查找指定元素第一次出现位置(索引号,左边第一个);如果字符串不包含该字符,则返回-1: df["Language"].str.find("a") 0 -1.0 1...1.0 2 NaN 3 1.0 Name: Language, dtype: float64 查找指定元素最右边出现位置;如果字符串不包含该字符,则返回-1: df["Language...Mckinney Name: Language, dtype: object 将分割后数据进行展开,列属性名是0,1,2…等自然数 # 使用expand参数,将返回列表进行展开 df["Language...str.index:查找指定字符字符串第一次出现位置(索引号) str.rindex:查找指定字符字符串中最后一次出现位置(索引号) str.capitalize:将字符串单词第一个字母变成大写

29120

Python写入Excel文件-多种实现方式(测试成功,附代码)

:workbook.worksheets() 关闭excel文件: workbook.close() pandas库储存数据到excel 简介 Pythonpandas是基于NumPy数组构建...单个或一组。...DataFrame数据是以一个或多个二维块存放(而不是列表、字典或别的一维数据结构) 示例:写入excel # -*- coding: utf-8 -*- import pandas as pd...## 相反,拆分单元格后将这个大单元格返回到原来左上角位置。...如果这些要合并单元格都有数据,只会保留左上角数据,其他则丢弃。换句话说若合并前不是左上角写入数据,合并后单元格不会有数据。 以下是拆分单元格代码。拆分后,回到A1位置。

3.9K10

Python—关于Pandas缺失问题(国内唯一)

ST_NUM:float或int…某种数字类型 ST_NAME:细绳 OWN_OCCUPIED:字符串…Y(“是”)或N(“否”) NUM_BEDROOMS:float或int,数字类型 标准缺失 “...这些是Pandas可以检测到缺失。 回到我们原始数据集,让我们看一下“ ST_NUM”列。 ? 第三列中有一个空单元格第七行,有一个“ NA”。 显然,这些都是缺失。...意外缺失 到目前为止,我们已经看到了标准缺失和非标准缺失。如果我们出现意外类型怎么办? 例如,如果我们功能应该是字符串,但是有数字类型,那么从技术上讲,这也是一个缺失。...从前面的示例,我们知道Pandas将检测到第7行单元格为缺失。让我们用一些代码进行确认。...Owner Occupied响应显然应该是字符串(Y或N),因此此数字类型应为缺失。 这个示例稍微复杂一点,因此我们需要考虑一种策略来检测这些类型缺失

3.1K40

Python数据处理利器

# 转化为元组print(dict(df['title'])) # 转化为字典,key为数字索引 # 2.读取某一个单元格数据# 不包括表头,指定列名和行索引print(df['title'][0...]) # title列,不包括表头第一个单元格 # 3.读取多列数据print(df[["title", "actual"]]) 3.按行读取数据 import pandas as pd # 读excel...= pd.read_excel('lemon_cases.xlsx', sheet_name='multiply') # 返回一个DataFrame对象,多维数据结构print(df) # 读取数据为嵌套列表列表类型...)) 04总结 在数据分析、数据可视化领域,Pandas应用极其广泛;大规模数据、多种类数据处理上效率非常高。...软件测试领域也有应用,但如果仅仅用excel来存放测试数据,使用Pandas就有点 “杀鸡焉用宰牛刀” 感觉,那么建议使用特定模块来处理(比如 openpyxl )

2.3K20

Pandas图鉴(四):MultiIndex

类型转换 Pandas (以及Python本身)对数字字符串有区别,所以在数据类型没有被自动检测到情况下,可以将数字转换为字符串: pdi.set_level(df.columns, 0, pdi.get_level...应用补丁后,只要在Jupyter单元格写上df,就会显示所有锁定level复选标记。...,--Pandas没有直接对应关系: pdi.insert_level(obj, pos, labels, name)用给定添加一个关卡(必要时适当广播),--Pandas不容易做到...而且,尽管有所有的辅助函数,当一些棘手Pandas函数返回MultiIndex时,对初学者来说也会倍感厉害。...多指标算术 整体使用多索引DataFrame操作,适用与普通DataFrame相同规则(见第三部分)。但处理单元格子集有其自身一些特殊性。

43120

数据科学入门必读:如何使用正则表达式?

re.findall() 返回字符串满足其模式所有实例列表。这是 Python 内置 re 模块中最常用函数之一。分解看看。...每个名称都输出显示方括号,因为 re.findall 以列表形式返回匹配结果。 如果我们想得到电子邮箱地址呢?...re.search() re.findall() 匹配是一个模式一个字符串所有实例然后以列表形式返回它们,而 re.search() 匹配是一个模式一个字符串第一个实例,然后以 re...第一个参数是所要匹配模式,第二个是要在其中查找字符串。这里为了简洁我们已经分配了 match 变量结果。...最后,外围 emails_df[] 返回一个行视图,其中 sender_email 列包含了目标子字符串。干漂亮! 我们也可以查看每个单元格电子邮件。要做到这一点,我们要做 4 步。

3.5K100

Python处理Excel数据方法

电子表格格式 我们日常工作中常常见到各种后缀电子表格,例如最常见xlsx以及较为常见csv、xls等格式表格。同样是电子表格,它们之间有什么区别吗? xls为Excel早期表格格式。...CSV为逗号分隔文件。 CSV逗号分隔文件格式,其以纯文本形式存储表格数据(数字和文本),可以用Excel软件打开。...'B7'] # 获取B7单元格数据 print(cell1.value) # cell1.value获取单元格B7 print(sheet['a2'].value) # 使用...(data) df.to_excel('new.xlsx') 修改excel–以修改原Excel文件gender列数据为例,把girl修改为female,boy修改为male: import pandas...\n{0}".format(data2)) # 格式化输出 示例2:操作Excel行列 # 导入pandas模块 import pandas as pd sheet=pd.read_excel('test.xlsx

4.7K40

Python也可以实现Excel“Vlookup”函数?

VLOOKUP函数大家应该都很熟悉吧,它可以帮我们根据指定条件快速查找匹配出相应结果,通常被用于核对、匹配多个表格之间数据。与数据透视表,并称为数据er最常用两大Excel功能。...sheet2,一列是员工姓名,一列是他们对应工资。 vlookup函数就是表格或数值数组首列查找指定数值,并由此返回表格或数组当前行中指定列处数值。...一般是匹配条件容易记混,如果为FALSE或0,则返回精确匹配,如果找不到,则返回错误 #N/A。如果 range_lookup 为TRUE或1,函数 VLOOKUP 将查找近似匹配。...那么Excel这种常用函数,Pandas模块自然也是可以轻松搞定了。 ▲《快学Python:自动化办公轻松实战》 Pandas 模块,调用merge()方法,可以帮助我们实现数据连接。...交互式环境输入如下命令: import pandas as pd path = "测试工资数据.xlsx" df_1 = pd.read_excel(path, sheet_name = 'Sheet1

2.7K30

Pandas替换简单方法

使用内置 Pandas 方法进行高级数据处理和字符串操作 Pandas 库被广泛用作数据处理和分析工具,用于从数据清理和提取特征。 处理数据时,编辑或删除某些数据作为预处理步骤一部分。...Pandas replace 方法允许您在 DataFrame 指定系列搜索,以查找随后可以更改或子字符串。...也就是说,需要传递想要更改每个,以及希望将其更改为什么某些情况下,使用查找和替换与定义正则表达式匹配所有内容可能更容易。...每当在列中找到它时,它就会从字符串删除,因为我们传递第二个参数是一个空字符串。...首先,如果有多个想要匹配正则表达式,可以列表定义它们,并将其作为关键字参数传递给 replace 方法。然后,只需要显式传递另一个关键字参数值来定义想要替换

5.4K30

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

我们选择一个ID,一个维度和一个包含列/列。包含列将转换为两列:一列用于变量(名称),另一列用于(变量包含数字)。 ?...诸如字符串数字之类列表项不受影响,空列表是NaN(您可以使用.dropna()清除它们 )。 ? DataFrame dfExplode列“ A ” 非常简单: ?...表上调用堆栈后再调用堆栈不会更改该堆栈(原因是存在“ 0 ”)。 ? 堆叠参数是其级别。列表索引,索引为-1将返回最后一个元素。这与水平相同。...合并不是pandas功能,而是附加到DataFrame。始终假定合并所在DataFrame是“左表”,函数作为参数调用DataFrame是“右表”,并带有相应键。...切记:列表字符串,可以串联其他项。串联是将附加元素附加到现有主体上,而不是添加新信息(就像逐列联接一样)。

13.3K20

Python实现ExcelVLOOKUP、HLOOKUP、XLOOKUP函数功能

给定一个lookup_value,lookup_array中找到它位置,然后从return_array返回相同位置。下面是Excel XLOOKUP公式可用参数。...第一行,我们用一些参数定义了一个名为xlookup函数: lookup_value:我们感兴趣,这将是一个字符串 lookup_array:这是源数据框架一列,我们正在查找此数组/列...“lookup_value” return_array:这是源数据框架一列,我们希望从该列返回 if_not_found:如果未找到”lookup_value”,将返回 随后: lookup_array...return_array.loc[]返回一个带有基于上述布尔索引pandas系列,只返回True。...注意,df1是我们要将带入表,df2是我们从中查找源表,我们将两个数据框架列传递到函数,用于lookup_array和return_array。

6.7K10
领券