提问人:Attacrat 提问时间:11/27/2022 更新时间:11/27/2022 访问量:40
删除 pandas 数据帧中包含特定字符串的行
Deleteing rows in a pandas dataframe if it contains a certain string
问:
我有一个数据帧中的列列表,该列要么包含一个哈希标记,后跟一个字符串,要么包含两个哈希标记后跟一个字符串。我想删除只包含一个井号的行。
df[df["column name"].str.contains("#") == False]
我尝试使用上面的代码,但它删除了整个列。我希望它只会删除仅包含一个哈希标记的行。我不知道该怎么办。
答:
0赞
Bushmaster
11/27/2022
#1
你能试试这个吗?
df['len']=df['column name'].str.count('#') #how many "#" expressions are in the column.
df=df[df["len"]>1]
#or one line
df=df[df['column name'].str.count('#')>1]
0赞
solac34
11/27/2022
#2
如果它们中的每一个都至少有一个“#”,并且它的 ## 或 #,
df[df["column name"].str.contains("##") == False]
上面的代码将为您提供一个 # 个。
df[df["column name"].str.contains("##") == True]
上面的代码将消除 # 并为您提供 ## 的代码。
评论