我有以下数据框,列 'Name' 的值中有一个模式 '///'
data = [['a1','yahoo', 'apple'], ['a2','gma///il', 'mango'], ['a3','amazon', 'papaya'],
['a4','bi///ng', 'guava']]
df = pd.DataFrame(data, columns = ['ID', 'Name', 'Info'])
如果列“名称”的值中包含模式“///”,我需要从此数据框中提取整行。我尝试了以下代码,但得到了一个空的数据框。
new_df = df.loc[df['Name'] == '///']
我的预期输出应该给我一个这样的数据框:
data_new = [['a2','gma///il', 'mango'],['a4','bi///ng', 'guava']]
new_df = pd.DataFrame(data, columns = ['ID', 'Name', 'Info'])
print(new_df)
使用Series.str.contains
:
import pandas as pd
data = [['a1','yahoo', 'apple'], ['a2','gma///il', 'mango'],
['a3','amazon', 'papaya'],['a4','bi///ng', 'guava']]
df = pd.DataFrame(data, columns = ['ID', 'Name', 'Info'])
print (df[df["Name"].str.contains("///")])
#
ID Name Info
1 a2 gma///il mango
3 a4 bi///ng guava
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句