python - 忽略大小写删除重复记录

标签 python pandas

我有一个包含多列的数据框,其中一列是 company_name。我正在尝试根据具有相同 company_name 的记录删除重复记录,但我不知道如何在保持 company_name 的原始大小写的情况下执行此操作。

我试过将所有名称转换为小写,然后删除重复项,但如前所述,我想保持原来的大小写。

df = pd.DataFrame({'company_name': ['Apple', 'apple', 'BlackBerry', 'blackberry','Blackberry'])
df['company_name'] = df['company_name'].str.strip()
df['company_name'] = df['company_name'].str.lower()
input_records.drop_duplicates(subset=['company_id'], inplace=True, 
   keep="first")

此代码删除了重复项,但以全小写形式存储公司名称。

想要的结果

company_name
Apple
BlackBerry

实际结果

company_name
apple
blackberry

最佳答案

您可以在执行操作的地方创建一个新列。这将允许您保持公司名称列不变。

这是它的样子:

df = pd.DataFrame({'company_name':['Apple','apple','Blackberry','blackberry']})

company_name
0        Apple
1        apple
2   Blackberry
3   blackberry

df['company_name_2'] = df['company_name'].str.strip()
df['company_name_2'] = df['company_name_2'].str.lower()
df.drop_duplicates(subset=['company_name_2'], inplace=True, 
   keep="first")
df.drop(columns = 'company_name_2', inplace = True)
df.reset_index(inplace = True, drop = True)

输出:

    company_name
0   Apple
1   Blackberry

关于python - 忽略大小写删除重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56396612/

相关文章:

python - 如何分别填写NaT和NaN值

python - 使用 Python 将一个文本文件逐行复制到另一个文本文件

python - 将文本分成多列

python - 如何将 PyCharm 与 Google 计算引擎一起使用

python - 使用 pip 安装多个 python 包

python - Pandas,仅合并同一组中的行

python - Geoviews:与英国等值区域图重叠的 map 图 block 无法完全对齐

python - 计算数据框中多个组的 z 分数

python - UNION ALL 参数化查询

python - 如何从数据框中提取特定值的索引和列?