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

在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 2.2 中文官方教程和指南(四)

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

31710

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:将字符串中的单词的第一个字母变成大写

46520
  • python量化学习路线(第一章python相关语法)

    它的作用是判断输入的字符串是否为回文(palindrome)。 在Python中,可以使用[::-1]对字符串进行反转操作。反转后得到的字符串与原来的字符串相等,就说明原字符串是回文。...第一个和第二个测试均返回True,说明输入字符串是回文;第三个测试返回False,说明输入字符串不是回文。...它的作用是将输入列表中的所有偶数移动到列表末尾并保持原有顺序,并返回一个新的列表。 函数使用了两个列表推导式,odd_nums和even_nums分别筛选出给定列表中的奇数和偶数。...在Python中,可以使用%求模运算符来判断一个数是奇数还是偶数。然后将奇数和偶数组合起来,并返回一个新的列表。...如果输入数字为1,则返回[1];如果输入数字为2,则返回[1,1],其他情况下,我们定义seq列表变量初始值为[1,1],然后循环计算并将新值追加到这个列表,并在最后返回seq列表。

    5910

    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.2K40

    AI批量将英文参考文献中的图书和杂志分开

    “vol.”的; 如果单元格中包含字符串“vol.”或者“Vol.”...,那么把这个单元格内容移动到工作表“Sheet2”; 删除掉sheet1中包含字符串“vol.”或者“Vol.”的单元格内容; 注意:每一步都要输出信息到屏幕上 pandas库在较新的版本中已经弃用了append...", "Vol."] # 创建一个空的DataFrame用于存储符合条件的行 filtered_df = pd.DataFrame(columns=df.columns) print("正在检测第一列中的字符串...else: print("已找到匹配的单元格内容,正在移动到Sheet2并从Sheet1中删除...") # 删除Sheet1中匹配的行 df = df.drop(indices_to_remove)...(writer, sheet_name="Sheet2", index=False) print("已成功将匹配的单元格内容移动到Sheet2并从Sheet1中删除。")

    4200

    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

    5.5K40

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

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

    3.9K20

    可能是全网最完整的 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

    9.1K23

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

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

    3.6K100

    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相同的规则(见第三部分)。但处理单元格的子集有其自身的一些特殊性。

    63420

    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

    在数据框架中创建计算列

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

    3.8K20

    Python自动化:Python操作Excel的多种方式Pandas+openpyxl+xlrd

    读取Excel文件(read_excel) pandas的read_excel函数用于读取Excel文件(.xls或.xlsx),并将其内容加载到DataFrame对象中。...sheet_name: 指定要读取的工作表名称或索引。可以是字符串、整数、字符串列表或None。如果是None,则返回字典,其中包含所有工作表。 header: 指定作为列名的行,默认为0(第一行)。...names: 用于结果的列名的列表,如果文件不包含列标题行,应该明确指定此参数。 index_col: 用作行索引的列编号或列名,可以是整数、字符串、整数列表、字符串列表或False(默认)。...usecols: 返回列的列号或列名列表。 dtype: 数据或字典,用于强制指定某些列的数据类型。 engine: 用于读取Excel文件的引擎。None将尝试使用io的扩展名来选择引擎。...其他参数(如 on_demand、formatting_info 等)在较新版本的 xlrd 中可能不再支持或用途有限,特别是针对 .xlsx 文件的处理。

    50510

    Pandas图鉴(三):DataFrames

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

    44620

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

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

    12.2K20

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

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

    4.3K10

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

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

    19.2K60

    使用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.9K20

    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

    3.4K30

    通宵翻译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.6K20
    领券