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

如果一列str.contain Pandas中的特定字符,则合并两列

在Pandas中,如果想要判断一列中的字符串是否包含特定字符,并且将两列合并,可以使用str.contains()方法。这个方法可以用于Series对象上,用于判断元素是否包含指定的字符串,并返回布尔值。

具体的用法是,首先使用str.contains()方法来创建一个布尔型的Series,表示每个元素是否包含特定字符。然后,可以使用该布尔型Series来选择满足条件的元素,再将两列合并。

下面是一个示例代码:

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

# 创建一个示例DataFrame
data = {'col1': ['apple', 'banana', 'orange', 'grape'],
        'col2': ['app', 'nan', 'ge', 'pear']}
df = pd.DataFrame(data)

# 使用str.contains()方法创建布尔型Series
contains_condition = df['col1'].str.contains('a')

# 使用布尔型Series选择满足条件的行,并将两列合并为新的列
df['merged_col'] = df.loc[contains_condition, 'col1'] + df.loc[contains_condition, 'col2']

# 打印结果
print(df)

输出结果如下:

代码语言:txt
复制
     col1  col2 merged_col
0   apple   app  appleapp
1  banana   nan        NaN
2  orange    ge  orangege
3   grape  pear        NaN

在这个示例中,我们首先使用str.contains()方法创建了一个布尔型Seriescontains_condition,表示col1列中的每个元素是否包含字符'a'。然后,我们使用这个布尔型Series选择了满足条件的行,并通过+运算符将满足条件的col1col2两列合并为新的列merged_col。最后,打印出结果。

希望这个答案能够满足您的需求。如果有任何疑问,请随时提问。

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

相关·内容

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

一列字符串进行通函数操作,而且自带正则表达式大部分接口 丰富时间序列向量化处理接口 常用数据分析与统计功能,包括基本统计量、分组统计分析等 集成matplotlib常用可视化接口,无论是series...与此同时,series因为只有一列,所以数据类型自然也就只有一种,pandas为了兼容二者,series数据类型属性既可以用dtype也可以用dtypes获取;而dataframe只能用dtypes...由于该方法默认是按行进行检测,如果存在某个需要需要按删除,则可以先转置再执行该方法 异常值,判断异常值标准依赖具体分析数据,所以这里仅给出种处理异常值可选方法 删除,drop,接受参数在特定轴线执行删除一条或多条记录...字符串向量化,即对于数据类型为字符串格式一列执行向量化字符串操作,本质上是调用series.str属性系列接口,完成相应字符串操作。...4 合并与拼接 pandas又一个重量级数据处理功能是对多个dataframe进行合并与拼接,对应SQL个非常重要操作:union和join。

13.9K20

一看就会Pandas文本数据处理

文本数据类型 在pandas存储文本数据有种方式:object 和 string。...在pandas 1.0版本之前,object是唯一文本类型,在一列数据如果包含数值和文本等混合类型一般也会默认为object。...在pandas 1.0 版本之后,新增了string文本类型,可以更好支持字符处理。 1.1. 类型简介 默认情况下,object仍然是文本数据默认类型。...文本提取 我们在日常中经常遇到需要提取某序列文本特定字符串,这个时候采用str.extract()方法就可以很好进行处理,它是用正则表达式将文本满足要求数据提取出来形成单独。...比如下面这个案例,我们用正则表达式将文本分为部分,第一部分是字母a和b,第二部分匹配数字: 在上述案例,expand参数为Fasle时如果返回结果是一列则为Series,否则是Dataframe。

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

    我们选择一个ID,一个维度和一个包含值/。包含值将转换为一列用于变量(值名称),另一列用于值(变量包含数字)。 ?...默认情况下,合并功能执行内部联接:如果每个DataFrame键名均未列在另一个键该键不包含在合并DataFrame。...另一方面,如果一个键在同一DataFrame列出次,则在合并表中将列出同一键每个值组合。...“inner”:仅包含元件键是存在于个数据帧键(交集)。默认合并。 记住:如果您使用过SQL,单词“ join”应立即与按添加相联系。...请注意,concat是pandas函数,而不是DataFrame之一。因此,它接受要连接DataFrame列表。 如果一个DataFrame一列未包含,默认情况下将包含该,缺失值列为NaN。

    13.3K20

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

    Pandas 如果未指定索引,默认使用 RangeIndex(第一行 = 0,第二行 = 1,依此类推),类似于电子表格行标题/数字。...索引值也是持久,所以如果你对 DataFrame 行重新排序,特定标签不会改变。 5. 副本与就地操作 大多数 Pandas 操作返回 Series/DataFrame 副本。...如果找到子字符串,该方法返回其位置。如果未找到,返回 -1。请记住,Python 索引是从零开始。 tips["sex"].str.find("ale") 结果如下: 3....; 如果匹配多行,每个匹配都会有一行,而不仅仅是第一行; 它将包括查找表所有,而不仅仅是单个指定; 它支持更复杂连接操作; 其他注意事项 1....填充柄 在一组特定单元格按照设定模式创建一系列数字。在电子表格,这将在输入第一个数字后通过 shift+drag 或通过输入前个或三个值然后拖动来完成。

    19.5K20

    快速提升效率6个pandas使用小技巧

    将strings改为numbers 在pandas,有种方法可以将字符串改为数值: astype()方法 to_numeric()方法 先创建一个样本dataframe,看看这种方法有什么不同。...,price、sales虽然内容有数字,但它们数据类型也是字符串。...删除包含缺失值行: df.dropna(axis = 0) 删除包含缺失值: df.dropna(axis = 1) 如果一列里缺失值超过10%,删除该: df.dropna(thresh...') 用后一列对应位置值替换缺失值: df.fillna(axis=1, method='bfill') 使用某一列平均值替换缺失值: df['Age'].fillna(value=df['Age...,得到结果: 「合并」 假设数据集按分布在2个文件,分别是data_row_1.csv和data_row_2.csv 用以下方法可以逐合并: files = sorted(glob('data

    3.3K10

    python数据分析笔记——数据加载与整理

    2、当文件没有标题行时 可以让pandas为其自动分配默认列名。 也可以自己定义列名。 3、将某一列作为索引,比如使用message做索引。通过index_col参数指定’message’。...5、文本缺失值处理,缺失数据要么是没有(空字符串),要么是用某个标记值表示,默认情况下,pandas会用一组经常出现标记值进行识别,如NA、NULL等。查找出结果以NAN显示。...2、索引上合并 (1)普通索引合并 Left_index表示将左侧行索引引用做其连接键 right_index表示将右侧行索引引用做其连接键 上面个用于DataFrame连接键位于其索引...(2)对于pandas对象(如Series和DataFrame),可以pandasconcat函数进行合并。...利用drop_duplicates方法,可以返回一个移除了重复行DataFrame. 默认情况下,此方法是对所有的进行重复项清理操作,也可以用来指定特定一列或多进行。

    6.1K80

    pandas字符串处理函数

    pandas,通过DataFrame来存储文件内容,其中最常见数据类型就是字符串了。针对字符串,pandas提供了一系列函数,来提高操作效率。...这些函数可以方便操作字符串类型Series对象,对数据框一列进行操作,这种向量化操作提高了处理效率。pandas字符串处理函数以str开头,常用有以下几种 1....0 0 A 1 B 2 C 3 D # str.strip, 去除字符串前后空白 >>> df[0].str.strip().array ['A'...当拼接对象为一个数据框时,将数据框所有都进行拼接 >>> df[1] = df[0].str.cat(['1','2', '3', '4']) >>> df 0 1 0 A A1 1 B B2...判断是否包含子字符串 通过str.contain函数来实现局部查找,类似re.search函数,用法如下 >>> df = pd.DataFrame(['A_1_1', 'B_2_1', 'C_3_1'

    2.8K30

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

    每种数据类型在pandas.core.internals模块中都有一个特定类。pandas使用ObjectBlock类来表示包含字符串列数据块,用FloatBlock类来表示包含浮点型数据块。...对于包含数值型数据(比如整型和浮点型)数据块,pandas合并这些,并把它们存储为一个Numpy数组(ndarray)。Numpy数组是在C数组基础上创建,其值在内存是连续存储。...你可以看到这些字符大小在pandasseries与在Python单独字符是一样。...下面我们写一个循环,对每一个object进行迭代,检查其唯一值是否少于50%,如果是,转换成类别类型。...我们还有一招可以做优化,如果你记得我们刚才那张类型表,会发现我们数据集第一列还可以用datetime类型来表示。 你可能还记得这一列之前是作为整型读入,并优化成了uint32。

    8.7K50

    6个提升效率pandas小技巧

    从剪切板创建DataFrame pandasread_clipboard()方法非常神奇,可以把剪切板数据变成dataframe格式,也就是说直接在excel复制表格,可以快速转化为dataframe...将strings改为numbers 在pandas,有种方法可以将字符串改为数值: astype()方法 to_numeric()方法 先创建一个样本dataframe,看看这种方法有什么不同。...product字符串类型,price、sales虽然内容有数字,但它们数据类型也是字符串。 值得注意是,price都是数字,sales列有数字,但空值用-代替了。...删除包含缺失值行: df.dropna(axis = 0) 删除包含缺失值: df.dropna(axis = 1) 如果一列里缺失值超过10%,删除该: df.dropna(thresh...「合并」 假设数据集按分布在2个文件,分别是data_row_1.csv和data_row_2.csv ?

    2.8K20

    Read_CSV参数详解

    header参数可以是一个list例如:[0,1,3],这个list表示将文件这些行作为标题(意味着每一列有多个标题),介于中间行将被忽略掉(例如本例2;本例数据1,2,4行将被作为多级标题出现...如果文件不规则,行尾有分隔符,则可以设定index_col=False 来是的pandas不适用第一列作为行索引。...squeeze : boolean, default False 如果文件值包含一列返回一个Series prefix : str, default None 在没有标题时,给添加前缀。...{‘foo’ : [1, 3]} -> 将1,3合并,并给合并起名为"foo" infer_datetime_format : boolean, default False 如果设定为True并且...Pandas尝试使用三种不同方式解析,如果遇到问题使用下一种方式。

    2.7K60

    Pandas vs Spark:获取指定N种方式

    由于Pandas中提供了种核心数据结构:DataFrame和Series,其中DataFrame任意一行和任意一列都是一个Series,所以某种意义上讲DataFrame可以看做是Series容器或集合...因此,如果从DataFrame单独取一列,那么得到将是一个Series(当然,也可以将该提取为一个只有单列DataFrame,但本文仍以提取单列得到Series为例)。...:SparkDataFrame每一列类型为Column、行为Row,而PandasDataFrame则无论是行还是,都是一个Series;SparkDataFrame有列名,但没有行索引,...在Spark,提取特定也支持多种实现,但与Pandas明显不同是,在Spark无论是提取单列还是提取单列衍生另外一列,大多还是用于得到一个DataFrame,而不仅仅是得到该Column类型...03 小结 本文分别列举了Pandas和Spark.sqlDataFrame数据结构提取特定多种实现,其中PandasDataFrame提取一列既可用于得到单列Series对象,也可用于得到一个只有单列

    11.5K20

    python pandas.read_csv参数整理,读取txt,csv文件

    header参数可以是一个list例如:[0,1,3],这个list表示将文件这些行作为标题(意味着每一列有多个标题),介于中间行将被忽略掉(例如本例2;本例数据1,2,4行将被作为多级标题出现...如果文件不规则,行尾有分隔符,则可以设定index_col=False 来是的pandas不适用第一列作为行索引。...squeeze : boolean, default False 如果文件值包含一列返回一个Series prefix : str, default None 在没有标题时,给添加前缀。...{‘foo’ : [1, 3]} -> 将1,3合并,并给合并起名为"foo" infer_datetime_format : boolean, default False 如果设定为True并且...Pandas尝试使用三种不同方式解析,如果遇到问题使用下一种方式。

    3.7K20

    python pandas.read_csv参数整理,读取txt,csv文件

    header参数可以是一个list例如:[0,1,3],这个list表示将文件这些行作为标题(意味着每一列有多个标题),介于中间行将被忽略掉(例如本例2;本例数据1,2,4行将被作为多级标题出现...如果文件不规则,行尾有分隔符,则可以设定index_col=False 来是的pandas不适用第一列作为行索引。...squeeze : boolean, default False 如果文件值包含一列返回一个Series prefix : str, default None 在没有标题时,给添加前缀。...{‘foo’ : [1, 3]} -> 将1,3合并,并给合并起名为"foo" infer_datetime_format : boolean, default False 如果设定为True并且...Pandas尝试使用三种不同方式解析,如果遇到问题使用下一种方式。

    6.4K60

    pandas.read_csv参数详解

    header参数可以是一个list例如:[0,1,3],这个list表示将文件这些行作为标题(意味着每一列有多个标题),介于中间行将被忽略掉(例如本例2;本例数据1,2,4行将被作为多级标题出现...如果文件不规则,行尾有分隔符,则可以设定index_col=False 来是的pandas不适用第一列作为行索引。...squeeze : boolean, default False 如果文件值包含一列返回一个Series prefix : str, default None 在没有标题时,给添加前缀。...{‘foo’ : [1, 3]} -> 将1,3合并,并给合并起名为"foo" infer_datetime_format : boolean, default False 如果设定为True并且...Pandas尝试使用三种不同方式解析,如果遇到问题使用下一种方式。

    3.1K30

    Python科学计算之Pandas

    好,我们也可以在Pandas做同样事。 ? 上述代码将范围一个布尔值dataframe,其中,如果9、10月降雨量低于1000毫米,对应布尔值为‘True’,反之,则为’False’。...Pandas对此给出了个非常有用函数,apply和applymap。 ? 这会创建一个名为‘year‘。这一列是由’water_year’所导出。它获取是主年份。...合并数据集 有时候你有个单独数据集,它们直接互相关联,而你想要比较它们差异或者合并它们。没问题,Pandas可以很容易实现: ? 开始时你需要通过’on’关键字参数指定你想要合并。...你也可以忽略这个参数,这样Pandas会自动确定合并。 如下你可以看到,个数据集在年份这一类上已经合并了。rain_jpn数据集仅仅包含年份以及降雨量。...当我们以年份这一列进行合并时,仅仅’jpn_rainfall’这一列和我们UK雨量数据集对应列进行了合并。 ?

    2.9K00

    我用Python展示Excel中常用20个操

    数据交换 说明:交换指定数据 Excel 在Excel交换数据是很常用操作,以交换示例数据地址与岗位列为例,可以选中地址,按住shift键并拖动边缘至下一列松开即可 ?...Pandaspandas交换也有很多方法,以交换示例数据地址与岗位列为例,可以通过修改号来实现 ?...数据合并 说明:将或多数据合并一列 Excel 在Excel可以使用公式也可以使用Ctrl+E快捷键完成多合并,以公式为例,合并示例数据地址+岗位列步骤如下 ?...PandasPandas合并比较简单,类似于之前数据插入操作,例如合并示例数据地址+岗位列使用df['合并列'] = df['地址'] + df['岗位'] ?...数据拆分 说明:将一列按照规则拆分为多 Excel 在Excel可以通过点击数据—>分列并按照提示选项设置相关参数完成分列,但是由于该含有[]等特殊字符,所以需要先使用查找替换去掉 ?

    5.6K10

    6个提升效率pandas小技巧

    从剪切板创建DataFrame pandasread_clipboard()方法非常神奇,可以把剪切板数据变成dataframe格式,也就是说直接在excel复制表格,可以快速转化为dataframe...将strings改为numbers 在pandas,有种方法可以将字符串改为数值: astype()方法 to_numeric()方法 先创建一个样本dataframe,看看这种方法有什么不同。...product字符串类型,price、sales虽然内容有数字,但它们数据类型也是字符串。 值得注意是,price都是数字,sales列有数字,但空值用-代替了。...删除包含缺失值行: df.dropna(axis = 0) 删除包含缺失值: df.dropna(axis = 1) 如果一列里缺失值超过10%,删除该: df.dropna(thresh...「合并」 假设数据集按分布在2个文件,分别是data_row_1.csv和data_row_2.csv ?

    2.4K20

    Python 合并 Excel 表格

    以及需求二:想在 表 C.xlsx 中提取第三、在 表 D.xlsx 中提取前,整合成新表格: ? ---- 如果不用编程,纯手工操作其实并不难,选中区域、复制再粘贴就搞定了。...合并成功,但仍有问题,即最左侧 index 和 "序号" 一列数字并没有实现依据实际表格数据进行更新,仍是保持原样需要做调整。首先是通过 reset_index 来重置下 index: ?...此外还要对"序号"这一列数字更新处理: ? OK,纵向合并完成,将合并数据通过 to_excel 方法保存到 xlsx 表格: ?...以及 iloc[:,[0,1]] 获取 表 D 第一、二(此处 ":" 代表所有行;[0,1] 代表由0开始索引值,即第一列和第二): ?...获取到了特定数据内容,仍然通过 concat 来合并,这里由于我们需要横向按合并,故需要额外设置 axis 参数为 1: ?

    3.6K10

    Python pandas十分钟教程

    包括如何导入数据集以及浏览,选择,清理,索引,合并和导出数据等常用操作函数使用,这是一个很好快速入门指南,如果你已经学习过pandas,那么这将是一个不错复习。...import pandas as pd pandas在默认情况下,如果数据集中有很多并非所有都会显示在输出显示。...统计某数据信息 以下是一些用来查看数据某一列信息几个函数: df['Contour'].value_counts() : 返回计算每个值出现次数。....unique():返回'Depth'唯一值 df.columns:返回所有名称 选择数据 选择:如果只想选择一列,可以使用df['Group']....df.groupby(by=['Contour', 'Gp'])['Ca'].mean() 合并多个DataFrame 将个数据合并在一起有种方法,即concat和merge。

    9.8K50

    Python库实用技巧专栏

    , 如果是list表示将文件这些行作为标题(意味着每一列有多个标题), 介于中间行将被忽略掉, 注意:如果skip_blank_lines=True, 那么header参数忽略注释行和空行, 所以..., 则可以设定index_col=False来使pandas不适用第一列作为行索引 usecols: array-like 返回一个数据子集, 该列表值必须可以对应到文件位置(数字可以对应到指定..., 如果该参数设定为True, 将会优先squeeze参数使用, 并且行索引将不再可用, 索引也将被忽略 squeeze: bool 如果文件值包含一列, 返回一个Series prefix: str...来做转换, Pandas尝试使用三种不同方式解析, 如果遇到问题使用下一种方式 使用一个或者多个arrays(由parse_dates指定)作为参数 连接指定多字符串作为一个列作为参数 每行调用一次...dialect: str or csv.Dialect instance 如果没有指定特定语言, 如果sep大于一个字符忽略 tupleize_cols: bool Leave a list of

    2.3K30
    领券