在Pandas中,如果想要判断一列中的字符串是否包含特定字符,并且将两列合并,可以使用str.contains()
方法。这个方法可以用于Series对象上,用于判断元素是否包含指定的字符串,并返回布尔值。
具体的用法是,首先使用str.contains()
方法来创建一个布尔型的Series,表示每个元素是否包含特定字符。然后,可以使用该布尔型Series来选择满足条件的元素,再将两列合并。
下面是一个示例代码:
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)
输出结果如下:
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选择了满足条件的行,并通过+
运算符将满足条件的col1
和col2
两列合并为新的列merged_col
。最后,打印出结果。
希望这个答案能够满足您的需求。如果有任何疑问,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云