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

我需要一个用于pandas dataframe的函数,它可以识别相等的字符串,然后赋值给新列

您可以使用np.where()函数来实现这个功能。np.where()函数可以根据条件选择性地赋值。

首先,您需要导入numpypandas库:

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

然后,您可以定义一个函数,该函数接受三个参数:要比较的字符串列、要匹配的字符串和要赋值的新列名。函数的实现如下:

代码语言:txt
复制
def assign_value(df, column, match_string, new_column):
    df[new_column] = np.where(df[column] == match_string, match_string, '')

接下来,您可以使用该函数来处理pandasDataFrame。假设您有一个名为dfDataFrame,其中包含一个名为column_name的字符串列,您想要将匹配字符串match_string赋值给一个名为new_column_name的新列。您可以调用函数如下:

代码语言:txt
复制
assign_value(df, 'column_name', 'match_string', 'new_column_name')

这将在df中创建一个新列new_column_name,并将匹配的字符串赋值给该列,不匹配的字符串则为空字符串。

这是一个示例代码,您可以根据自己的实际需求进行调整和扩展。希望对您有帮助!

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

相关·内容

Python数据分析实战基础 | 初识Pandas

提供了两种类型数据结构,分别是DataFrame和Series,我们可以简单粗暴DataFrame理解为Excel里面的一张表,而Series就是表中某一,后面学习和用到所有Pandas骚操作...1、增 增加一,用df['列名'] = 形式,在原数据基础上赋值即可: ?...在案例数据中,我们发现来源明细那一,可能是系统导出历史遗留问题,每一个字符串前面都有一个“-”符号,又丑又无用,所以把他拿掉: ? 一般来说清洗之后是要替换掉原来: ?...导致报错原因,是数值型数据和非数值型数据相互计算导致PANDAS把带“%”符号转化率识别字符串类型,我们需要先拿掉百分号,再将这一转化为浮点型数据: ?...在实际业务中,一些时候PANDAS会把文件中日期格式字段读取为字符串格式,这里我们先把字符串'2019-8-3'赋值新增日期然后用to_datetime()函数字符串类型转换成时间格式: ?

1.8K30

Python数据分析实战基础 | 初识Pandas

提供了两种类型数据结构,分别是DataFrame和Series,我们可以简单粗暴DataFrame理解为Excel里面的一张表,而Series就是表中某一,后面学习和用到所有Pandas骚操作...1、增 增加一,用df['列名'] = 形式,在原数据基础上赋值即可: ?...在案例数据中,我们发现来源明细那一,可能是系统导出历史遗留问题,每一个字符串前面都有一个“-”符号,又丑又无用,所以把他拿掉: ? 一般来说清洗之后是要替换掉原来: ?...导致报错原因,是数值型数据和非数值型数据相互计算导致PANDAS把带“%”符号转化率识别字符串类型,我们需要先拿掉百分号,再将这一转化为浮点型数据: ?...在实际业务中,一些时候PANDAS会把文件中日期格式字段读取为字符串格式,这里我们先把字符串'2019-8-3'赋值新增日期然后用to_datetime()函数字符串类型转换成时间格式: ?

2K12

Python数据分析实战基础 | 初识Pandas

提供了两种类型数据结构,分别是DataFrame和Series,我们可以简单粗暴DataFrame理解为Excel里面的一张表,而Series就是表中某一,后面学习和用到所有Pandas骚操作...1、增 增加一,用df['列名'] = 形式,在原数据基础上赋值即可: ?...在案例数据中,我们发现来源明细那一,可能是系统导出历史遗留问题,每一个字符串前面都有一个“-”符号,又丑又无用,所以把他拿掉: ? 一般来说清洗之后是要替换掉原来: ?...导致报错原因,是数值型数据和非数值型数据相互计算导致PANDAS把带“%”符号转化率识别字符串类型,我们需要先拿掉百分号,再将这一转化为浮点型数据: ?...在实际业务中,一些时候PANDAS会把文件中日期格式字段读取为字符串格式,这里我们先把字符串'2019-8-3'赋值新增日期然后用to_datetime()函数字符串类型转换成时间格式: ?

1.7K30

Python数据分析实战基础 | 初识Pandas

提供了两种类型数据结构,分别是DataFrame和Series,我们可以简单粗暴DataFrame理解为Excel里面的一张表,而Series就是表中某一,后面学习和用到所有Pandas骚操作...1、增 增加一,用df['列名'] = 形式,在原数据基础上赋值即可: ?...在案例数据中,我们发现来源明细那一,可能是系统导出历史遗留问题,每一个字符串前面都有一个“-”符号,又丑又无用,所以把他拿掉: ? 一般来说清洗之后是要替换掉原来: ?...导致报错原因,是数值型数据和非数值型数据相互计算导致PANDAS把带“%”符号转化率识别字符串类型,我们需要先拿掉百分号,再将这一转化为浮点型数据: ?...在实际业务中,一些时候PANDAS会把文件中日期格式字段读取为字符串格式,这里我们先把字符串'2019-8-3'赋值新增日期然后用to_datetime()函数字符串类型转换成时间格式: ?

1.4K40

一文带你快速入门Python | 初识Pandas

提供了两种类型数据结构,分别是DataFrame和Series,我们可以简单粗暴DataFrame理解为Excel里面的一张表,而Series就是表中某一,后面学习和用到所有Pandas骚操作...1、增 增加一,用df['列名'] = 形式,在原数据基础上赋值即可: ?...在案例数据中,我们发现来源明细那一,可能是系统导出历史遗留问题,每一个字符串前面都有一个“-”符号,又丑又无用,所以把他拿掉: ? 一般来说清洗之后是要替换掉原来: ?...导致报错原因,是数值型数据和非数值型数据相互计算导致PANDAS把带“%”符号转化率识别字符串类型,我们需要先拿掉百分号,再将这一转化为浮点型数据: ?...在实际业务中,一些时候PANDAS会把文件中日期格式字段读取为字符串格式,这里我们先把字符串'2019-8-3'赋值新增日期然后用to_datetime()函数字符串类型转换成时间格式: ?

1.3K01

Python数据分析实战基础 | 初识Pandas

提供了两种类型数据结构,分别是DataFrame和Series,我们可以简单粗暴DataFrame理解为Excel里面的一张表,而Series就是表中某一,后面学习和用到所有Pandas骚操作...1、增 增加一,用df['列名'] = 形式,在原数据基础上赋值即可: ?...在案例数据中,我们发现来源明细那一,可能是系统导出历史遗留问题,每一个字符串前面都有一个“-”符号,又丑又无用,所以把他拿掉: ? 一般来说清洗之后是要替换掉原来: ?...导致报错原因,是数值型数据和非数值型数据相互计算导致PANDAS把带“%”符号转化率识别字符串类型,我们需要先拿掉百分号,再将这一转化为浮点型数据: ?...在实际业务中,一些时候PANDAS会把文件中日期格式字段读取为字符串格式,这里我们先把字符串'2019-8-3'赋值新增日期然后用to_datetime()函数字符串类型转换成时间格式: ?

1.2K21

解决pandas.core.frame.DataFrame格式数据与numpy.ndarray格式数据不一致导致无法运算问题

问题描述在pandasDataFrame格式数据中,每一可以是不同数据类型,如数值型、字符串型、日期型等。而ndarray格式数据需要每个元素都是相同类型,通常为数值型。...解决方法要解决DataFrame格式数据与ndarray格式数据不一致导致无法运算问题,我们可以通过将DataFrame某一转换为ndarray并重新赋值变量,然后再进行运算。...要解决DataFrame格式数据与ndarray格式数据不一致导致无法运算问题,可以通过将DataFrame某一转换为ndarray并重新赋值变量,然后再进行运算。...上述代码中,我们将DataFrame​​Quantity​​和​​Unit Price​​转换为ndarray并分别赋值​​quantity_values​​和​​unit_price_values​​...通过将DataFrame某一转换为ndarray,并重新赋值变量,我们可以避免格式不一致错误,成功进行运算。numpy库ndarray什么是ndarray?

39820

整理了 25 个 Pandas 实用技巧,拿走不谢!

有很多种实现途径,最喜欢方式是传一个字典DataFrame constructor,其中字典中keys为列名,values为取值。 ?...这种方式很好,但如果你还想把列名变为非数值型,你可以强制地将一串字符赋值columns参数: ? 你可以想到,你传递字符串长度必须与数相同。 3....我们可以使用sample()函数来随机选取75%行,并将它们赋值"movies_1"DataFrame: ?...将一个字符串划分成多个 我们先创建另一个示例DataFrame: ? 如果我们需要将“name”这一划分为三个独立,用来表示first, middle, last name呢?...让我们回到stocks这个DataFrame: ? 我们可以创建一个格式化字符串字典,用于对每一进行格式化。然后将其传递给DataFramestyle.format()函数: ?

3.2K10

整理了25个Pandas实用技巧

接着我们使用drop()函数来舍弃“moive_1”中出现过行,将剩下赋值"movies_2"DataFrame: ? 你可以发现总行数是正确: ?...一个字符串划分成多 我们先创建另一个示例DataFrame: ? 如果我们需要将“name”这一划分为三个独立,用来表示first, middle, last name呢?...如果我们想要增加用于展示每个订单总价格呢?回忆一下,我们通过使用sum()函数得到了总价格: ?...但是,一个更灵活和有用方法是定义特定DataFrame格式化(style)。 让我们回到stocks这个DataFrame: ? 我们可以创建一个格式化字符串字典,用于对每一进行格式化。...那么你可以使用pandas-profiling这个模块。 在你系统上安装好该模块,然后使用ProfileReport()函数,传递参数为任何一个DataFrame

2.8K40

整理了25个Pandas实用技巧(下)

举例来说,我们movie ratings这个DataFrame有979行: 我们可以使用sample()函数来随机选取75%行,并将它们赋值"movies_1"DataFrame: 接着我们使用...drop()函数来舍弃“moive_1”中出现过行,将剩下赋值"movies_2"DataFrame: 你可以发现总行数是正确: 你还可以检查每部电影索引,或者"moives_1":...一个字符串划分成多 我们先创建另一个示例DataFrame: 如果我们需要将“name”这一划分为三个独立,用来表示first, middle, last name呢?...但是,一个更灵活和有用方法是定义特定DataFrame格式化(style)。 让我们回到stocks这个DataFrame: 我们可以创建一个格式化字符串字典,用于对每一进行格式化。...这里有另一个DataFrame格式化例子: Volume现在有一个渐变背景色,你可以轻松地识别出大和小数值。

2.4K10

Python可视化数据分析05、Pandas数据分析

使用Pandas需要先熟悉两个主要数据结构:Series和DataFrame,它们为大多数应用提供了一种可靠、易于使用基础。...Series对象本身及其索引都有一个name属性,该属性跟Pandas其他关键功能关系非常密切。 Series索引可以通过赋值方式修改。...包含一个经过排序列表集,列表集中每个数据都可以有不同类型值(数字、字符串、布尔等)。...Datarame有行和索引;它可以被看作是一个Series字典(每个Series共享一个索引)。...对象之间算术运算 Pandas还提供了sub()函数用于减法,div()函数用于除法,mul()函数用于乘法 from pandas import Series, DataFrame; import

2.5K20

Pandas 25 式

这时,可以用 Numpy random.rand() 函数,设定行数与数,然后把值传递给 DataFrame 构建器。 ?...rename()方法改列名是最灵活方式,参数是字典,字典 Key 是原列名,值是列名,还可以指定轴向(axis)。 ? 这种方式优点是可以重命名任意数量,一、多、所有可以。...把字符串转换为数值 再创建一个 DataFrame 示例。 ? 这个 DataFrame数字其实是以字符串形式保存,因此,类型是 object。 ?...把字符串分割为多 创建一个 DataFrame 示例。 ? 把姓名列分为姓与名两,用 str.split() 方法,按空格分割,并用 expand 关键字,生成一个 DataFrame。 ?...通过赋值语句,把这两添加到原 DataFrame。 ? 如果想分割字符串,但只想保留分割结果,该怎么操作? ? 要是只想保留城市可以选择只把城市加到 DataFrame 里。 ?

8.4K00

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

这时,可以用 Numpy random.rand() 函数,设定行数与数,然后把值传递给 DataFrame 构建器。 ?...rename()方法改列名是最灵活方式,参数是字典,字典 Key 是原列名,值是列名,还可以指定轴向(axis)。 ? 这种方式优点是可以重命名任意数量,一、多、所有可以。...把字符串转换为数值 再创建一个 DataFrame 示例。 ? 这个 DataFrame数字其实是以字符串形式保存,因此,类型是 object。 ?...把字符串分割为多 创建一个 DataFrame 示例。 ? 把姓名列分为姓与名两,用 str.split() 方法,按空格分割,并用 expand 关键字,生成一个 DataFrame。 ?...通过赋值语句,把这两添加到原 DataFrame。 ? 如果想分割字符串,但只想保留分割结果,该怎么操作? ? 要是只想保留城市可以选择只把城市加到 DataFrame 里。 ?

7.1K20

Python数据分析笔记——Numpy、Pandas

Numpy基础 1、创建ndarray数组 使用array函数接受一切序列型对象,包括其他数组,然后产生一个Numpy数组。 嵌套序列将会被转换成一个多维数组。...2、DataFrame (1)概念: DataFrame一个表格型数据结构,含有一组有序,每可以是不同值类型(数值、字符串、布尔值等)。...也可以某一赋值一个列表或数组,其长度必须跟DataFrame长度相匹配。如果赋值一个Series,则对应索引位置将被赋值,其他位置值被赋予空值。...也可以fillna函数一个字典,就可以实现对不同填充不同值。 Df.fillna({1:0.5,3:-1})——1缺失值用0.5填充,3缺失值用-1填充。...8、值计数 用于计算一个Series中各值出现次数。 9、层次化索引 层次化索引是pandas一个重要功能,作用是使你在一个轴上拥有两个或多个索引级别。

6.4K80

Python数据分析-pandas库入门

可以用在许多原本需要字典参数函数中,代码示例: dict = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000,'Utah': 5000} obj3 =...数据结构 DataFrame一个表格型数据结构,含有一组有序,每可以是不同值类型(数值、字符串、布尔值等)。...,可以DataFrame 获取为一个 Series,代码示例: frame2['state'] frame2.state 可以通过赋值方式进行修改,赋值方式类似 Series。...例如,我们可以那个空 “debt” 赋上一个标量值或一组值(数组或列表形式),代码示例: frame2.debt = np.arange(6.) frame2 注意:将列表或数组赋值某个时,...two', 'four','five']) frame2.debt = val frame2 为不存在赋值会创建出一个

3.7K20

Pandas入门2

函数应用和映射 5.4.1 Numpy中函数可以用于操作pandas对象 ?...简单说明原因,并修改原始dataframe数据使得Mjob和Fjob变为首字母大写 函数操作不影响原数据,返回值数据要赋值原数据,如下面代码所示: df[['Mjob','Fjob']] =...df[['Mjob','Fjob']].applymap(str.title) Step 7.创建一个名为majority函数,并根据age数据返回一个布尔值添加到数据,列名为 legal_drinker...方法返回值数据类型是字符串。 另外,其实time模块中有strftime方法,需要1个参数,参数为字符串格式。可以将现在时间转换为字符串。 ?...image.png 7.3 Pandas时间序列 pandas通常是用于处理成组日期,不管这个日期是DataFrame轴索引还是。to_datetime方法可以解析多种不同日期表示形式。

4.2K20

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

数组d被广播(自动扩展)成与a相同维度,然后进行逐元素相乘。结果赋值变量e,得到一个数组。...数组f维度与a不完全匹配,但NumPy会自动广播f,使其与a相同维度,然后进行逐元素相乘。结果赋值变量g,得到一个数组。...根据矩阵乘法规则,二维数组与向量乘法将得到一个向量。结果赋值变量g。...groupby 是 pandas一个函数用于根据一个或多个值对 DataFrame 进行分组操作。它可以用于数据聚合、统计和分析。...数据存储在名为apandas DataFrame中。 b = a.T 这行代码对DataFrame a进行转置,交换行和,并将转置后DataFrame赋值b。

1.3K30

Pandas用了一年,这3个函数最爱……

本文主要介绍pandas.DataFrame三个接口,即assign、eval、query,分别用于赋值、查询和执行计算。 注:本文短平快,5分钟可完成阅读了解3个高效接口。 ?...01 assign 在数据分析处理中,赋值产生是非常高频应用场景,简单可能是赋值常数列、复杂可能是由一产生另外一个,对于这种需求pandas有多种方法实现,但个人唯独喜欢assign,...例如,对于以上简单DataFrame数据框,需要创建一个C,一般来说可能有3种创建需求:常数列、指定序列数据以及由已知通过一定计算产生。那么应用assign完成这3个需求分别是: ?...注意事项: assign赋值时,一般用列名=表达式形式,其中新列名为变量形式,所以不加引号(加引号时意味着是字符串); assign返回创建了dataframe,所以需要dataframe...02 eval 实际上,eval是一个Python基础函数用于执行字符串形式计算表达式,例如以下简单实例: ?

1.8K30

【Python】这25个Pandas高频实用技巧,不得不服!

有很多种实现途径,最喜欢方式是传一个字典DataFrame constructor,其中字典中keys为列名,values为取值。...将一个字符串划分成多个 我们先创建另一个示例DataFrame: df = pd.DataFrame({'name':['John Arthur Doe', 'Jane Ann Smith'],...将聚合结果与DataFrame进行组合 我们再看一眼orders这个DataFrame: orders.head(10) 如果我们想要增加用于展示每个订单总价格呢?...我们回到stocks这个DataFrame: stocks 我们可以创建一个格式化字符串字典,用于对每一进行格式化。...那么你可以使用pandas-profiling这个模块。在你系统上安装好该模块,然后使用ProfileReport()函数,传递参数为任何一个DataFrame

6.5K50

Python 数据处理:Pandas使用

DataFrame一个表格型数据结构,含有一组有序,每可以是不同值类型(数值、字符串、布尔值等)。...例如,可以那个空"debt"赋上一个标量值或一组值: import pandas as pd data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada...pd.Series([-1.2, -1.5, -1.7], index=['two', 'four', 'five']) frame2['debt'] = val print(frame2) 为不存在赋值会创建出一个...---- 2.基本功能 2.1 重新索引 Pandas对象一个重要方法是reindex,其作用是创建一个对象,数据符合索引。...由于需要执行一些数据整理和集合逻辑,所以drop方法返回一个在指定轴上删除了指定值对象: import pandas as pd obj = pd.Series(np.arange(5.),

22.7K10
领券