如何从Pandas字符串Series中移除指定词并保留索引与类型
Pandas Series移除指定词列表元素的解决方案
核心方法
直接使用Pandas的isin()配合取反操作~进行过滤,既能保留原索引,又能维持元素的字符串类型,无需转换为set。
操作步骤
- 筛选出不在移除列表中的元素:
filtered_df = df[~df['My_strings'].isin(words_list_to_remove)]
- 重命名列名以匹配期望格式:
new_df = filtered_df.rename(columns={'My_strings': 'My_new_strings'})
完整可运行代码
import pandas as pd # 构造原始数据框 df = pd.DataFrame({ 'My_strings': ['first', 'abc', 'second', 'third', 'def', 'forth', 'ghi', 'jkl'] }) # 待移除词列表 words_list_to_remove = ['abc', 'def', 'ghi', 'jkl'] # 执行过滤与列重命名 new_df = df[~df['My_strings'].isin(words_list_to_remove)].rename(columns={'My_strings': 'My_new_strings'}) # 查看结果 print(new_df)
运行后得到的new_df会保留原始索引,所有元素仍为字符串类型,完全符合需求。
内容的提问来源于stack exchange,提问作者complog
相关产品推荐
相关产品推荐

