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

使用掩码字符串值在Pandas Data-frame中创建新列

在Pandas Data-frame中使用掩码字符串值创建新列的步骤如下:

  1. 首先,导入Pandas库并加载数据到Data-frame中:
代码语言:txt
复制
import pandas as pd

# 创建一个示例Data-frame
data = {'Name': ['John', 'Emma', 'Mike', 'Sophia'],
        'Age': [25, 28, 30, 24],
        'City': ['New York', 'London', 'Paris', 'Tokyo']}
df = pd.DataFrame(data)
  1. 接下来,使用掩码字符串值创建一个新的列。掩码字符串值是一个布尔字符串,用于指示哪些行应该被选中。可以使用条件表达式来创建掩码字符串值。
代码语言:txt
复制
# 创建一个掩码字符串值
mask = df['City'] == 'London'
  1. 然后,使用掩码字符串值创建一个新的列,并为选中的行赋予相应的值。
代码语言:txt
复制
# 使用掩码字符串值创建新列
df['IsLondon'] = mask

现在,Data-frame中将会有一个名为'IsLondon'的新列,其中包含布尔值,表示每行是否为伦敦。

完整的代码示例如下:

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

# 创建一个示例Data-frame
data = {'Name': ['John', 'Emma', 'Mike', 'Sophia'],
        'Age': [25, 28, 30, 24],
        'City': ['New York', 'London', 'Paris', 'Tokyo']}
df = pd.DataFrame(data)

# 创建一个掩码字符串值
mask = df['City'] == 'London'

# 使用掩码字符串值创建新列
df['IsLondon'] = mask

print(df)

输出结果如下:

代码语言:txt
复制
    Name  Age       City  IsLondon
0   John   25   New York     False
1   Emma   28     London      True
2   Mike   30      Paris     False
3  Sophia   24      Tokyo     False

这个例子中,我们使用了一个掩码字符串值来判断哪些行的'City'列值为'London',并将结果存储在新的'IsLondon'列中。

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

相关·内容

如何使用Excel将某几列有的标题显示到

如果我们有好几列有内容,而我们希望中将有内容的的标题显示出来,那么我们怎么做呢? Excel - TEXTJOIN function 1....- - - - 4 - - - 开始,我们曾经使用INDEX + MATCH的方式,但是没有成功,一直是N/A https://superuser.com/questions/1300246/if-cell-contains-value-then-column-header...所以我们后来改为TEXTJOIN函数,他可以显示,也可以显示的标题,还可以多个列有的时候同时显示。...- - 4 - - - 15 Year 5 - - - - 5 - - - =TEXTJOIN(", ",TRUE,IF(ISNUMBER(B2:I2),$B$1:$I$1,"")) 如果是想要显示,...则: =TEXTJOIN(", ",TRUE,IF(ISNUMBER(B2:I2),B2:I2,"")) 其中,ISNUMBER(B2:I2)是判断是不是数字,可以根据情况改成是不是空白ISBLANK

11.3K40

数据科学 IPython 笔记本 7.7 处理缺失数据

本节,我们将讨论缺失数据的一些一般注意事项,讨论 Pandas 如何选择来表示它,并演示一些处理 Python 的缺失数据的 Pandas 内置工具。...通常,它们围绕两种策略的一种:使用在全局表示缺失掩码,或选择表示缺失条目的标记掩码方法掩码可以是完全独立的布尔数组,或者它可以在数据表示占用一个比特,本地表示的空状态。...标记方法,标记可能是某些特定于数据的惯例,例如例如使用-9999或某些少见的位组合来表示缺失整数值,或者它可能是更全局的惯例,例如使用NaN(非数字)表示缺失浮点,这是一个特殊,它是 IEEE...Pandas 的NaN和None NaN和None都有它们的位置,并且 Pandas 的构建是为了几乎可以互换地处理这两个适当的时候它们之间进行转换: pd.Series([1, np.nan...转换为float64 np.nan boolean 转换为object None或np.nan 请记住, Pandas 字符串数据始终与object dtype一起存储。

4K20

Pandas处理缺失

掩码方法掩码可能是一个与原数组维度相同的完整布尔类型数组, 也可能是用一个比特(0 或 1) 表示有缺失的局部状态。...PandasNaN与None的差异 虽然 NaN 与 None 各有各的用处, 但是 Pandas 把它们看成是可以等价交换的, 适当的时候会将两者进行替换: pd.Series([1, np.nan...字符串类型的数据通常是用 object 类型存储的。...为了完成这种交换过程, Pandas 提供了一些方法来发现、 剔除、 替换数据结构的缺失, 主要包括以下几种。 isnull() 创建一个布尔类型的掩码标签缺失。..., 因为可能有时候只需要剔除全部是缺失的行或, 或者绝大多数是缺失的行或

2.8K10

高效的10个Pandas函数,你都用过吗?

Query Query是pandas的过滤查询函数,使用布尔表达式来查询DataFrame的,就是说按照的规则进行过滤操作。...Insert Insert用于DataFrame的指定位置插入的数据。默认情况下是添加到末尾的,但可以更改位置参数,将添加到任何位置。...Ture表示允许的列名与已存在的列名重复 接着用前面的df: 第三的位置插入: # new_col = np.random.randn(10) #第三位置插入,从0开始计算...「掩码」(英语:Mask)计算机学科及数字逻辑中指的是一串二进制数字,通过与目标数字的按位操作,达到屏蔽指定位而实现需求。 6....Isin Isin也是一种过滤方法,用于查看某是否包含某个字符串,返回为布尔Series,来表明每一行的情况。

4.1K20

如何成为Python的数据操作库Pandas的专家?

前言 Pandas库是Python中最流行的数据操作库。受到R语言的frames启发,它提供了一种通过其data-frame API操作数据的简单方法。...下面我们给大家介绍PandasPython的定位。 ? 01 了解Pandas 要很好地理解pandas,关键之一是要理解pandas是一系列其他python库的包装器。...而Matplotlib和Seaborn则用于提供一个简单的接口,使用诸如df.plot()这样的命令来绘制data frame可用的信息。...这些api允许您明确地利用dtypes指定每个的类型。指定dtypes允许在内存更有效地存储数据。...pandas默认为64位整数,我们可以节省一半的空间使用32位: ? 04 处理带有块的大型数据集 pandas允许按块(chunk)加载数据帧的数据。

3.1K31

Python数据科学手册(四)【Pandas 索引和选择】

前面我们介绍了Numpy的索引和选择操作,Pandas也具有类似的操作,这节我们将介绍Pandas对象的索引和选择操作。...与Series对象类似,也可以通过键赋值的方式修改整列获取添加: data['density'] = data['pop'] / data['area'] 将DataFrame看做二维数组 通过values...上进行,例如通过转置交换行和: data.T 如果需要像普通数组一样进行切片和选择,需要使用loc,iloc,ix等索引器。...这些索引操作也可以用来赋值或者修改: data.iloc[0, 2] = 90 其它常用索引 直接对DataFrame索引获取到的是,而切片获取的则是行: data['Florida':'Illinois...'] 上述操作等价于: data[1:3] 同样的,掩码索引针对的也是行,而不是: data[data.density > 100]

1K30

pandas(一)

a索引 'a' in data 获取data索引 data.keys() 获取所有数据 list(data.items()) 增加索引 data['e']=10.25 切片:   显示索引做切片,包含最后一个...  data['a':'c']   隐式整数索引做切片,不包含年最后一个   data[0:2] 掩码:   data[(data>0.3) & (data<0.7)] 花哨索引:   data[[...columns=['name','age'],       index=['a','b','c']       ) x.index获取行索引标签,x.columns获取索引标签 pandas 的index...data.loc[:'lin',:'age'] data.iloc[:3,:2] ix混合使用,不常用 data.ix[:3,:'age'] 与掩码和花哨索引结合使用 data.loc[data.age...>18,['name','age']] 更新数据 data[0,1]= 20 numpy通用函数pandas也适用 当用两个series对象创建dataframe对象时,会取两个对象的并集,没有的用nan

95520

Python数据科学手册(六)【Pandas 处理丢失的数据】

处理机制的权衡 常见的处理丢失数据的方法有两种: 使用掩码全局的指明丢失了哪些数据 使用哨兵直接替换丢失的 上述都两种方法各有弊利,使用掩码需要提供一个格外的布尔数组,占用更多的空间;使用哨兵则在计算时需要更多的时间...Pandas的数据丢失 Pandas处理数据丢失的方法受制于Numpy,尽管Numpy提供了掩码机制,但是存储、计算和代码维护来说,并不划算,所以Pandas使用哨兵机制来处理丢失的数据。...NaN 代替丢失 另外一哨兵是使用NaN,它时一种特殊的浮点型数据,可以被所有的系统识别。...的None和NaN None和NaNPandas有其独特的地位,Pandas同时支持它们,并可以相互转换。...isnull():用于创建掩码数组 notnull():isnull()的反操作 dropna(): 返回过滤后的数据 fillna(): 返回填充后的数据 检测null Pandas提供的isnull

2.3K30

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

一个例子是使用频率和计数的字符串对分类数据进行分组,使用int和float作为连续。此外,我们希望能够附加标签到、透视数据等。 我们从介绍对象Series和DataFrame开始。...Series 的数据可以是任何数据类型。pandas数据类型的详情见这里。SAS例子,我们使用Data Step ARRAYs 类同于 Series。...SAS PROC CONTENTS的输出,通常会发现同样的信息。 ? ? 检查 pandas有用于检查数据的方法。DataFrame的.head()方法默认显示前5行。....正如你可以从上面的单元格的示例看到的,.fillna()函数应用于所有的DataFrame单元格。我们可能不希望将df["col2"]的缺失替换为零,因为它们是字符串。...删除缺失行之前,计算在事故DataFrame丢失的记录部分,创建于上面的df。 ? DataFrame的24个记录将被删除。

12.1K20

Kaggle影评数据集,Python数据分析小例子1-4

2 read_csv使用说明 说明,本次导入dat文件使用pandas.read_csv函数。 第一个位置参数....针对这类字段取值,可使用PandasSeries提供的str做一步转化,注意它是向量级的,下一步,如Python原生的str类似,使用contains判断是否含有comedy字符串: mask = movies.Genre.str.contains...('comedy',case=False,na=False) 注意使用的两个参数:case, na case为 False,表示对大小写不敏感;na Genre某个单元格为NaN时,我们使用的充填...4 提取目标行记录 得到掩码mask后,pandas非常方便地能提取出目标记录: comedy = movies[mask] comdey_ids = comedy['Movie ID'] 以上,pandas...因为字段 Movie ID 中间有空格,所以不能使用comedy.Movie ID提取这

1.5K11

数据科学 IPython 笔记本 7.15 高性能 Pandas

我们在前面的章节已经看到,PyData 技术栈的力量,建立 NumPy 和 Pandas 通过直观语法,将基本操作推送到 C 的能力的基础上:例如 NumPy 的向量化/广播操作,以及 Pandas...虽然这些抽象对于许多常见用例是高效且有效的,但它们通常依赖于临时中间对象的创建,这可能产生计算时间和内存使用的开销。...用于高效操作的pandas.eval() Pandas 的eval()函数接受字符串表达式,来使用DataFrame高效地计算操作。...我们可以使用df.eval()创建一个'D'并为其赋一个从其他列计算的: df.eval('D = (A + B) / C', inplace=True) df.head() ABCD00.3755060.4069390.06993811.18762010.0690870.2356150.1543741.97379620.6779450.4338390.6523241.70434430.2640380.8080550.3471973.08785740.5891610.2524180.5577891.508776...考虑是否使用这些函数时,有两个注意事项:计算时间和内存使用

65610

仅需1秒!搞定100万行数据:超强Python数据分析利器

如果你的工作是生成结果,而不是本地甚至集群设置Spark,那么这是一个额外的障碍。因此我们也对Spark进行了同样的基准操作: Spark的性能比Pandas更好,这是由于多线程的缘故。...这是使用了内存映射。 5 虚拟 Vaex添加创建一个虚拟,虚列的行为与普通一样,但是它们不占用内存。这是因为Vaex只记得定义它们的表达式,而不预先计算。...创建过滤后的数据流时,Vaex会创建一个二进制掩码,然后将其应用于原始数据,而不需要进行复制。这类过滤器的内存成本很低: 过滤10亿行数据流需要大约1.2 GB的RAM。...dvv = dv[dv.col1 > 90] 6 高性能聚合数据 如value_counts、groupby、unique和各种字符串操作都使用了快速高效的算法,这些算法都是C++底层实现的。...例如,我们可以使用.count方法不同的选择上创建两个直方图,只需对数据进行一次传递。非常有效!

2.1K1817

EF Core使用CodeFirstMySql创建数据库以及已有的Mysql数据库如何使用DB First生成域模型

view=aspnetcore-2.1 使用EF CodeFirstMySql创建的数据库,我们首先在appsettings.json文件夹使用json对来给出mysql数据库连接语句,其次...Startup.cs中使用MySql的中间价来注入MySql服务,在这里,我使用的MySql驱动是Pomelo.EntityFramoworkCore.MySql。...这个的数据库上下文一定要有构造函数。...做好之后,使用如下命令创建的数据库: 首先打开Nuget管理控制台: Add-Migration xxxx Update-Database 如果我们就生成了数据库了,还会给我们生成一个Migration...那么如果有了数据库怎么使用DbContext呢? 从现有的MySql数据库中使用DB First来创建数据表模型 在这种方案下,我们只需要引入第三方的mysql数据库驱动就可以。

34520

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

Pandas ,您使用特殊方法从/向 Excel 文件读取和写入。 让我们首先基于上面示例的数据框,创建一个的 Excel 文件。 tips.to_excel("....pandas 可以创建 Excel 文件、CSV 或许多其他格式。 数据操作 1. 操作 电子表格,公式通常在单个单元格创建,然后拖入其他单元格以计算其他的公式。... Pandas ,您可以直接对整列进行操作。 pandas 通过 DataFrame 中指定单个系列来提供矢量化操作。可以以相同的方式分配。...If/then逻辑 假设我们想要根据 total_bill 是小于还是大于 10 美元,来创建一个具有低和高Excel电子表格,可以使用条件公式进行逻辑比较。...我们将使用 =IF(A2 < 10, "low", "high")的公式,将其拖到存储的所有单元格。 使用 numpy 的 where 方法可以完成 Pandas 的相同操作。

19.5K20

使用网络摄像头和Python的OpenCV构建运动检测器(Translate)

通过计算该基准帧的对象与帧对象之间的相位差来检测运动。我们也将得到的结果称为Delta帧。 ? 接下来,我们将使用像素强度来优化Delta帧,优化后的帧称为阈值帧。...高斯模糊函数,我们利用第2个参数定义了高斯核的宽度和高度;利用第3个参数,定义了标准偏差值。在这里我们可以使用核大小为(21,21),标准偏差为0的标准。...第一帧是整个处理过程的基准帧。通过计算此基准帧与帧之间特定对象的相位差来检测运动。拍摄第一帧时,特定对象相机前不应有任何移动。...这里有个麻烦,因为我们必须将轮廓存储一个元组,并且只需要使用该元组的第一个。请参阅Python3声明元组的语法:(name,_)。 现在,我们只需要在过滤层上找到对象的外部轮廓。...到目前为止,所有的时间戳都存储pandasdata-frame变量。为了从生成的数据获得更多信息,我们将把data-frame变量导出到本地磁盘的csv文件。 ?

2.8K40

pandas基础:数据显示格式转换(续)

标签:pandas,pivot()方法 pandas基础:数据显示格式转换》,我们使用melt()方法将数据框架从宽(wide)格式转换为长(long)格式。...基本上,将country放在“行”,将Month放在“,然后将Sales作为“价值”放入表。这里的好消息是,pandas也有一个pivot函数。...下面的代码将创建一个“长”表单数据框架,看起来像上图1左侧的表。...这是数据框架的索引,相当于Excel数据透视表的“行”。 columns:字符串,或字符串列表。这是数据框架的,相当于Excel数据透视表的“”。 values:字符串,或字符串列表。...用于数据框架填充的,相当于Excel数据透视表的“”。 现在来实现数据格式的转换。注意,下面两行代码将返回相同的结果。然而,首选第二行代码,因为它更明确地说明了参数的用途。

1.2K30

pandas入门教程

pandas是一个Python语言的软件包,我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。本文是对它的一个入门教程。...这段输出说明如下: 输出的最后一行是Series数据的类型,这里的数据都是int64类型的。 数据第二输出,第一是数据的索引,pandas称之为Index。...忽略无效 我们可以通过pandas.DataFrame.dropna函数抛弃无效: ? 注:dropna默认不会改变原先的数据结构,而是返回了一个的数据结构。...为了便于操作,填充之前,我们可以先通过rename方法修改行和的名称: ? 这段代码输出如下: ? 处理字符串 数据中常常牵涉到字符串的处理,接下来我们就看看pandas对于字符串操作。...Series的str字段包含了一系列的函数用来处理字符串。并且,这些函数会自动处理无效。 下面是一些实例,第一组数据,我们故意设置了一些包含空格字符串: ?

2.2K20

Pandas的apply方法的应用练习

data = {'column1':[1, 2, 15, 4, 8]} df = pd.DataFrame(data) 请创建一个'new_column',其为'column1'每个元素的两倍...,当原来的元素大于10的时候,将里面的赋0  import pandas as pd # 自定义函数 def process_data(x): if x > 10: return...函数用来两之和,并将最终的结果添加到'sum_columns'当中 import pandas as pd # 创建一个示例 DataFrame data = {'column1'...,将DataFrame字符串的所有数字提取出来并拼接成一个字符串列。 ...my_function,它接受DataFrame的一行作为参数,并根据某些条件修改该行的 将年龄大于等于18的人的性别修改为”已成年“; Seris中使用apply方法 def my_function

8510
领券