我想在下面的代码中添加一行我在Python中使用的代码,这样它就会删除第一列中带有'hate'字样的所有行,称为'Bio':
import pandas as pd
from datetime import datetime
INPUT_FILE = 'Sample spreadsheet.xlsx'
OUTPUT_FILE = 'Output.xlsx'
df = pd.read_excel(INPUT_FILE)
df.dropna(subset=['Location', 'Full name'], inplace=True)
df = df[(df['Followers'] > 200) & (df['Friends'] > 200) & (df['Last tweet'] > '2011-04-12') & (df['Created'] < '2018-12-31')]
with pd.ExcelWriter(OUTPUT_FILE) as writer:
df.to_excel(writer)
我会在调用contains之前添加lowercasing!这意味着仇恨,仇恨,仇恨将被捕获:
import pandas as pd
df = pd.DataFrame({'foo':[1,2],
'bio':['i love pandas',
'i HATE ms excel']})
# normalize words to lowercase
#df = df[~ df['bio'].str.lower().str.contains('hate')]
df = df[~ df['bio'].str.contains('hate',case=False)]
熊猫文件:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.contains.html
结果:
如果要删除包含单词“hate”的字符串:
df = df[~df["Bio"].str.contains("hate")]
使用这一行
df = df[df['Bio'] != 'hate']
如果列可以包含多个值,则可以使用
df = df[~df["Bio"].str.lower().contains("hate")]