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

如何在pandas中创建新列,并根据第二列是否包含各种字符串列表中的字符串来设置其值

在pandas中创建新列,并根据第二列是否包含各种字符串列表中的字符串来设置其值,可以使用apply函数结合lambda表达式来实现。

首先,我们需要导入pandas库:

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

然后,我们可以创建一个DataFrame对象,其中包含两列数据,假设第一列为"column1",第二列为"column2":

代码语言:txt
复制
data = {'column1': ['apple', 'banana', 'orange', 'grape'],
        'column2': ['I like apple', 'I hate banana', 'I love orange', 'I dislike grape']}
df = pd.DataFrame(data)

接下来,我们可以定义一个字符串列表,例如:

代码语言:txt
复制
string_list = ['like', 'love']

然后,我们可以使用apply函数和lambda表达式来创建新列,并根据第二列是否包含字符串列表中的字符串来设置其值:

代码语言:txt
复制
df['new_column'] = df['column2'].apply(lambda x: any(word in x for word in string_list))

在上述代码中,lambda表达式会遍历字符串列表中的每个字符串,检查该字符串是否在第二列的每个元素中出现,如果出现则返回True,否则返回False。apply函数会将lambda表达式应用到第二列的每个元素上,并将结果赋值给新列"new_column"。

最后,我们可以打印DataFrame对象来查看结果:

代码语言:txt
复制
print(df)

输出结果如下:

代码语言:txt
复制
  column1          column2  new_column
0   apple    I like apple         True
1  banana   I hate banana        False
2  orange  I love orange         True
3   grape  I dislike grape       False

这样,我们就成功地在pandas中创建了新列,并根据第二列是否包含各种字符串列表中的字符串来设置其值。

相关搜索:python pandas -根据包含字符串列表的B列更改A列中的值pandas的列表理解:如果pandas中的列包含字符串,则返回带有字符串的新列使用Pandas查询函数并测试字符串是否在包含列表的列中字符串列表中的模式匹配,在pandas中创建新列在列中搜索字符串并创建新的项目列表如何使用pandas/python创建多个新列,并根据其他两个列中的值填充列?如何在pandas中根据另一列的值组合字符串列表行?如何在pandas数据透视表中创建仅包含已填充列的匹配值的新列?通过循环遍历字典列表并基于pandas中的特定日期条件来创建新列Python pandas:基于组内的最大值创建新列,但使用附加(字符串)列中的值我想用列表中字符串匹配的值创建一个新列Pandas dataframe-创建新的列表列,由分组列中的字符串聚合而成如果list包含另一个子列表的任何字符串,则在pandas中创建新列根据行中的值是否重新出现在dataframe中,在pandas dataframe中创建新列仅将pandas行的所有字符串值作为列表添加到新列中Python如何提取pandas dataframe中[]括号内的指定字符串并使用布尔值创建新列如何根据另一列中的值是否包含在另一数据帧的特定列中来设置另一数据帧的列值在过滤后的数据框中搜索特定字符串,然后根据结果创建新列(Python/Pandas)如何使用pandas计算字符串中列值的字符数,并根据结果对行进行分组?使用Pandas,我是否可以创建一个新列,根据一个值是否存在于多个列中来返回一个二进制变量?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何用 Python 执行常见的 Excel 和 SQL 任务

有关数据结构,如列表和词典,如何在 Python 中的运行的更多信息,本教程将有所帮助。...现在,可以对我们以前不能做的人均 GDP 列进行各种计算,包括通过不同的值过滤列,并确定列的百分位数值。 选择/过滤数据 任何数据分析师的基本需求是将大型数据集分割成有价值的结果。...使用相同的逻辑,我们可以计算各种的值 -- 完整列表位于左侧菜单栏下的计算/描述性统计部分的 Pandas 文档。...有关数据可视化选项的综合的教程 - 我最喜欢的是这个 Github readme document (全部在文本中),它解释了如何在 Seaborn 中构建概率分布和各种各样的图。...现在我们可以看到,人均 GDP 根据世界不同地区而不同。我们有一个干净的、包含我们想要的数据的表。

10.8K60

用Python执行SQL、Excel常见任务?10个方法全搞定!

有关数据结构,如列表和词典,如何在 Python 中的运行的更多信息,本篇将有所帮助。...现在,可以对我们以前不能做的人均 GDP 列进行各种计算,包括通过不同的值过滤列,并确定列的百分位数值。 07 选择/过滤数据 任何数据分析师的基本需求是将大型数据集分割成有价值的结果。...使用相同的逻辑,我们可以计算各种的值 — 完整列表位于左侧菜单栏下的计算/描述性统计部分的 Pandas 文档。...有关数据可视化选项的综合的教程 – 我最喜欢的是这个 Github readme document (全部在文本中),它解释了如何在 Seaborn 中构建概率分布和各种各样的图。...现在我们可以看到,人均 GDP 根据世界不同地区而不同。我们有一个干净的、包含我们想要的数据的表。

8.3K20
  • Pandas 秘籍:1~5

    操作步骤 创建新列的最简单方法是为其分配标量值。 将新列的名称作为字符串放入索引运算符。 让我们在电影数据集中创建has_seen列以指示我们是否看过电影。 我们将为每个值分配零。...该秘籍既分配了标量值(如步骤 1 所示),又分配了序列(如步骤 2 所示),以创建新列。 步骤 2 将四个不同的序列使用加法运算符相加。 步骤 3 使用方法链来查找和填充缺失值。...更多 除了insert方法的末尾,还可以将新列插入数据帧中的特定位置。insert方法将新列的整数位置作为第一个参数,将新列的名称作为第二个参数,并将值作为第三个参数。...最重要的列(例如电影的标题)位于第一位。 步骤 4 连接所有列名称列表,并验证此新列表是否包含与原始列名称相同的值。 Python 集是无序的,并且相等语句检查一个集的每个成员是否是另一个集的成员。...手动排序此秘籍中的列容易受到人为错误的影响,因为很容易错误地忘记新列列表中的列。 步骤 5 通过将新的列顺序作为列表传递给索引运算符来完成重新排序。 现在,这个新顺序比原来的要明智得多。

    37.6K10

    Python数学建模算法与应用 - 常用Python命令及程序注解

    它接受一个可迭代对象(如列表、元组、字符串等)作为参数,并返回一个生成器。 生成器会依次生成由索引和对应元素值组成的元组。...它根据函数 fn 指定的条件将列表 L 分割为两个子列表。函数 fn 是一个 lambda 函数,它检查列表 L 中的元素的首字符是否等于 'b'。...filter 函数的基本语法如下: filter(function, iterable) function 是一个函数,它将被应用于可迭代对象中的每个元素,并根据返回值来决定是否保留该元素。...iterable 是一个可迭代对象,如列表、元组等。 filter 函数的工作原理是将函数 function 应用于 iterable 中的每个元素,并根据函数返回的布尔值来决定是否保留该元素。...map 函数用于对可迭代对象中的每个元素应用指定的函数,并返回一个包含应用结果的新可迭代对象。 返回值不同: filter 函数返回一个新的可迭代对象,其中只包含满足条件的元素。

    1.5K30

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

    操作数据帧可能很快会成为一项复杂的任务,因此在Pandas中的八种技术中均提供了说明,可视化,代码和技巧来记住如何做。 ?...每种方法都将包括说明,可视化,代码以及记住它的技巧。 Pivot 透视表将创建一个新的“透视表”,该透视表将数据中的现有列投影为新表的元素,包括索引,列和值。...我们选择一个ID,一个维度和一个包含值的列/列。包含值的列将转换为两列:一列用于变量(值列的名称),另一列用于值(变量中包含的数字)。 ?...要记住:从外观上看,堆栈采用表的二维性并将列堆栈为多级索引。 Unstack 取消堆叠将获取多索引DataFrame并对其进行堆叠,将指定级别的索引转换为具有相应值的新DataFrame的列。...作为另一个示例,当级别设置为0(第一个索引级别)时,其中的值将成为列,而随后的索引级别(第二个索引级别)将成为转换后的DataFrame的索引。 ?

    13.3K20

    精通 Pandas 探索性分析:1~4 全

    点表示法 还有另一种方法可以根据从数据帧中选择的数据子集来创建新序列。 此方法称为点表示法。.../img/3cee634e-99f8-4ec7-8fce-0ebb53bcb71e.png)] 如您在前面的屏幕快照中所见,我们按State和Metro过滤了列,并使用过滤器列中的值创建了一个新的数据帧...我们将介绍axis参数,并逐步介绍可以将axis关键字设置为的各种值。 我们将演示如何将axis设置为行或列来改变方法的行为。 我们还将展示一些使用axis关键字的代码示例。...重命名 Pandas 数据帧中的列 在本节中,我们将学习在 Pandas 中重命名列标签的各种方法。 我们将学习如何在读取数据后和读取数据时重命名列,并且还将看到如何重命名所有列或特定列。...通过将how参数传递为outer来完成完整的外部合并: 现在,即使对于没有值并标记为NaN的列,它也包含所有行,而不管它们是否存在于一个或另一个数据集中,或存在于两个数据集中。

    28.2K10

    Python数据分析-pandas库入门

    导入 pandas 模块,和常用的子模块 Series 和 DataFrame import pands as pd from pandas import Series,DataFrame 通过传递值列表来创建...Series 中的单个或一组值,代码示例: obj2[['a', 'b', 'c']] obj2['a']=2 obj2[['a', 'b', 'c']] [‘a’,’b’,’c]是索引列表,即使它包含的是字符串而不是整数...,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。...作为 del 的例子,这里先添加一个新的布尔值的列,state 是否为 ‘Ohio’,代码示例: frame2['eastern'] = frame2.state=='Ohio' frame2 DataFrame...每个索引都有一些方法和属性,它们可用于设置逻辑并回答有关该索引所包含的数据的常见问题。

    3.7K20

    单列文本拆分为多列,Python可以自动化

    在这里,我特意将“出生日期”列中的类型强制为字符串,以便展示切片方法。实际上,pandas应该自动检测此列可能是datetime,并为其分配datetime对象,这使得处理日期数据更加容易。...对于了解Excel并且倾向于使用公式来解决此问题的人,第一反应可能是:好的,我将创建一个可能包含FIND函数和LEFT函数或MID函数等的公式,然后向下拖动以将其应用于所有单元格。...我们可以使用Python字符串切片来获取年、月和日。字符串本质上类似于元组,我们可以对字符串使用相同的列表切片技术。看看下面的例子。...让我们在“姓名”列中尝试一下,以获得名字和姓氏。 图7 拆分是成功的,但是当我们检查数据类型时,它似乎是一个pandas系列,每行是包含两个单词的列表。...我们想要的是将文本分成两列(pandas系列),需要用到split()方法的一个可选参数:expand。当将其设置为True时,可以将拆分的项目返回到不同的列中。

    7.1K10

    Pandas数据类型转换:astype与to_numeric

    本文将深入探讨Pandas中的两种常用的数据类型转换方法:astype 和 to_numeric,并介绍常见问题、报错及解决方案。一、数据类型转换的重要性在数据分析过程中,数据类型的选择至关重要。...copy: 是否返回新的对象,默认为True。errors: 错误处理方式,可选值为'raise'(抛出异常)或'ignore'(忽略错误)。...(二)案例分析假设我们有一个包含销售记录的DataFrame,其中金额字段是以字符串形式存储的,并且可能包含一些非数字字符(如逗号分隔符)。...对于无法转换的值(如'abc'),它们会被设置为NaN。四、总结astype 和 to_numeric 都是非常强大的工具,能够帮助我们在Pandas中灵活地进行数据类型转换。...在实际应用中,根据具体需求选择合适的方法,并结合数据预处理步骤,可以显著提高数据质量,从而为后续的分析提供坚实的基础。

    24610

    Pandas数据聚合:groupby与agg

    groupby返回的是一个GroupBy对象,该对象本身并不包含任何聚合结果,而是提供了一个接口来应用各种聚合函数。 agg 方法 agg(aggregate的缩写)用于对分组后的数据进行聚合计算。...它可以接受多种类型的参数,如字符串表示的函数名、自定义函数、字典等。通过agg,我们可以一次性对多个列应用不同的聚合函数,极大地提高了数据处理的灵活性和效率。...常见的聚合函数包括sum()、mean()、count()、min()、max()等。 常见问题 重复值处理:当分组键存在重复值时,默认情况下会根据这些重复值创建新的分组。...检查拼写是否正确,并确认列确实存在于DataFrame中。 TypeError: 当尝试对非数值类型的数据应用某些聚合函数(如求和)时,可能会遇到类型错误。...自定义函数需要接收一个Series作为输入,并返回一个标量值。 多个聚合函数 有时我们需要对同一列应用多个聚合函数。agg允许我们通过传递一个包含多个函数的列表来实现这一点。

    41010

    python数据科学系列:pandas入门详细教程

    切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签列中),包含两端标签结果,无匹配行时返回为空...isin/notin,条件范围查询,即根据特定列值是否存在于指定列表返回相应的结果 where,仍然是执行条件查询,但会返回全部结果,只是将不满足匹配条件的结果赋值为NaN或其他指定值,可用于筛选或屏蔽值...需注意对空值的界定:即None或numpy.nan才算空值,而空字符串、空列表等则不属于空值;类似地,notna和notnull则用于判断是否非空 填充空值,fillna,按一定策略对空值进行填充,如常数填充...时间类型向量化操作,如字符串一样,在pandas中另一个得到"优待"的数据类型是时间类型,正如字符串列可用str属性调用字符串接口一样,时间类型列可用dt属性调用相应接口,这在处理时间类型时会十分有效。...;sort_values是按值排序,如果是dataframe对象,也可通过axis参数设置排序方向是行还是列,同时根据by参数传入指定的行或者列,可传入多行或多列并分别设置升序降序参数,非常灵活。

    15K20

    数据分析篇 | PyCon 大咖亲传 pandas 25 式,长文建议收藏

    操控缺失值 把字符串分割为多列 把 Series 里的列表转换为 DataFrame 用多个函数聚合 用一个 DataFrame 合并聚合的输出结果 选择行与列 重塑多重索引 Series 创建透视表...还可以使用 exclude 关键字排除指定的数据类型。 ? 7. 把字符串转换为数值 再创建一个新的 DataFrame 示例。 ?...用 dropna() 删除列里的所有缺失值。 ? 只想删除列中缺失值高于 10% 的缺失值,可以设置 dropna() 里的阈值,即 threshold. ? 16....把 Series 里的列表转换为 DataFrame 创建一个 DataFrame 示例。 ? 这里包含了两列,第二列包含的是 Python 整数列表。...年龄列有 1 位小数,票价列有 4 位小数,如何将这两列显示的小数位数标准化? 用以下代码让这两列只显示 2 位小数。 ? 第一个参数是要设置的选项名称,第二个参数是 Python 的字符串格式。

    7.2K20

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

    在 Pandas 中,索引可以设置为一个(或多个)唯一值,这就像在工作表中有一列用作行标识符一样。与大多数电子表格不同,这些索引值实际上可用于引用行。...读取外部数据 Excel 和 pandas 都可以从各种来源以各种格式导入数据。 CSV 让我们从 Pandas 测试中加载并显示提示数据集,这是一个 CSV 文件。...pandas 通过在 DataFrame 中指定单个系列来提供矢量化操作。可以以相同的方式分配新列。DataFrame.drop() 方法从 DataFrame 中删除一列。...If/then逻辑 假设我们想要根据 total_bill 是小于还是大于 10 美元,来创建一个具有低值和高值的列。 在Excel电子表格中,可以使用条件公式进行逻辑比较。...按值排序 Excel电子表格中的排序,是通过排序对话框完成的。 pandas 有一个 DataFrame.sort_values() 方法,它需要一个列列表来排序。

    19.6K20

    30 个小例子帮你快速掌握Pandas

    inplace参数设置为True以保存更改。我们删除了4列,因此列数从14减少到10。 2.读取时选择特定的列 我们只打算读取csv文件中的某些列。读取时,列列表将传递给usecols参数。...第一个参数是位置的索引,第二个参数是列的名称,第三个参数是值。 19.where函数 它用于根据条件替换行或列中的值。默认替换值是NaN,但我们也可以指定要替换的值。...method参数指定如何处理具有相同值的行。first表示根据它们在数组(即列)中的顺序对其进行排名。 21.列中唯一值的数量 使用分类变量时,它很方便。我们可能需要检查唯一类别的数量。...Geography列的内存消耗减少了近8倍。 24.替换值 替换函数可用于替换DataFrame中的值。 ? 第一个参数是要替换的值,第二个参数是新值。 我们可以使用字典进行多次替换。 ?...endswith函数根据字符串末尾的字符进行相同的过滤。 Pandas可以对字符串进行很多操作。

    10.8K10

    Pandas 25 式

    操控缺失值 把字符串分割为多列 把 Series 里的列表转换为 DataFrame 用多个函数聚合 用一个 DataFrame 合并聚合的输出结果 选择行与列 重塑多重索引 Series 创建透视表...还可以使用 exclude 关键字排除指定的数据类型。 ? 7. 把字符串转换为数值 再创建一个新的 DataFrame 示例。 ?...用 dropna() 删除列里的所有缺失值。 ? 只想删除列中缺失值高于 10% 的缺失值,可以设置 dropna() 里的阈值,即 threshold. ? 16....把 Series 里的列表转换为 DataFrame 创建一个 DataFrame 示例。 ? 这里包含了两列,第二列包含的是 Python 整数列表。...年龄列有 1 位小数,票价列有 4 位小数,如何将这两列显示的小数位数标准化? 用以下代码让这两列只显示 2 位小数。 ? 第一个参数是要设置的选项名称,第二个参数是 Python 的字符串格式。

    8.4K00

    【精心解读】用pandas处理大数据——节省90%内存消耗的小贴士

    每种数据类型在pandas.core.internals模块中都有一个特定的类。pandas使用ObjectBlock类来表示包含字符串列的数据块,用FloatBlock类来表示包含浮点型列的数据块。...对于包含数值型数据(比如整型和浮点型)的数据块,pandas会合并这些列,并把它们存储为一个Numpy数组(ndarray)。Numpy数组是在C数组的基础上创建的,其值在内存中是连续存储的。...Pandas用一个字典来构建这些整型数据到原数据的映射关系。当一列只包含有限种值时,这种设计是很不错的。...我们先选择其中一个object列,开看看将其转换成类别类型会发生什么。这里我们选用第二列:day_of_week。 我们从上表中可以看到,它只包含了7个唯一值。...下面我们写一个循环,对每一个object列进行迭代,检查其唯一值是否少于50%,如果是,则转换成类别类型。

    8.7K50

    Pandas 秘籍:6~11

    您可以通过将columns属性设置为等于列表来简单地为整个数据帧设置新列。.../img/00215.jpeg)] 让我们创建一个包含一些新数据的列表,并使用.loc索引器设置一个等于该新数据的行标签: >>> new_data_list = ['Aria', 1] >>> names.loc...不管实际的新标签值是多少,新行始终将附加在最后。 即使使用列表分配也可以,但为清楚起见,最好使用字典,以便我们准确地知道与每个值关联的列,如步骤 4 所示。...可以传递groupby任意数量的自定义函数的列表,如步骤 5 所示。这里,第一个函数使用日期时间索引的round方法将每个值四舍五入到最接近的第二小时。 第二个函数检索年份。...在此步骤中,我们使用rolling方法根据最近五年数据的平均值来计算每年的新值。 例如,将 2011 年至 2015 年的预算中位数进行分组并取平均值。 结果是 2015 年的新值。

    34K10

    Python 算法交易秘籍(一)

    本章包含了各种食谱,演示了如何使用 Python 标准库和pandas来进行算法交易,pandas是一个 Python 数据分析库。...在步骤 5中,通过向构造函数传递columns参数以特定顺序的列来创建一个DataFrame,该参数是一个字符串列表。...如果不传递,其默认值为False,意味着将创建一个新的DataFrame而不是修改df。 重新排列:在步骤 2 中,你使用reindex()方法从df创建一个新的DataFrame,重新排列其列。...类似地,在 步骤 4 中,您通过按照 df 的 open 列降序排列来创建一个新的 DataFrame 对象。...其 unique() 方法返回一个由经纪人支持的唯一交易所组成的 numpy.ndarray 对象。 查询分段列表 一个分段实质上是根据其类型对工具进行分类。

    79450

    Pandas全景透视:解锁数据科学的黄金钥匙

    索引提供了对 Series 中数据的标签化访问方式。值(Values): 值是 Series 中存储的实际数据,可以是任何数据类型,如整数、浮点数、字符串等。...了解完这些,接下来,让我们一起探索 Pandas 中那些不可或缺的常用函数,掌握数据分析的关键技能。①.map() 函数用于根据传入的字典或函数,对 Series 中的每个元素进行映射或转换。...具体来说,map()函数可以接受一个字典或一个函数作为参数,然后根据这个字典或函数对 Series 中的每个元素进行映射或转换,生成一个新的 Series,并返回该 Series。...如果传入的是一个字典,则 map() 函数将会使用字典中键对应的值来替换 Series 中的元素。如果传入的是一个函数,则 map() 函数将会使用该函数对 Series 中的每个元素进行转换。...尽管本文仅触及了Pandas强大功能的表面,但其广阔的应用领域和深邃的技术内涵仍待我们进一步挖掘和学习。

    11710

    python数据分析——数据分类汇总与统计

    第一个阶段,pandas对象中的数据会根据你所提供的一个或多个键被拆分(split)为多组。拆分操作是在对象的特定轴上执行的。...例如, DataFrame可以在其行(axis=0)或列(axis=1)上进行分组。然后,将一个函数应用(apply)到各个分组并产生一个新值。...关键技术:对于由DataFrame产生的GroupBy对象,如果用一个(单个字符串)或一组(字符串数组)列名对其进行索引,就能实现选取部分列进行聚合的目的。...关键技术:如果传给apply的函数能够接受其他参数或关键字,则可以将这些内容放在函数名后面一并传入: 【例15】在apply函数中设置禁止分组键。...: 行名称 margins : 总计行/列 normalize:将所有值除以值的总和进行归一化,为True时候显示百分比 dropna :是否刪除缺失值 【例19】根据国籍和用手习惯对这段数据进行统计汇总

    82310
    领券