当前位置: 首页 > 面试题库 >

如何从熊猫数据框中的字符串项中删除数字

裴嘉良
2023-03-14
问题内容

我有一个类似于以下内容的数据框:

Name    Volume  Value
May21   23      21321
James   12      12311
Adi22   11      4435
Hello   34      32454
Girl90  56      654654

我希望输出为以下格式:

Name    Volume  Value
May     23      21321
James   12      12311
Adi     11      4435
Hello   34      32454
Girl    56      654654

想要从“名称”列中删除所有数字。

我最近来的是使用以下代码在 单元 级别进行的:

result = ''.join([i for i in df['Name'][1] if not i.isdigit()])

任何想法如何在 系列 / 数据框 级别上以更好的方式 实现


问题答案:

您可以结合使用正则表达式将str.replace应用于Name列:

import pandas as pd

# Example DataFrame
df = pd.DataFrame.from_dict({'Name'  : ['May21', 'James', 'Adi22', 'Hello', 'Girl90'],
                             'Volume': [23, 12, 11, 34, 56],
                             'Value' : [21321, 12311, 4435, 32454, 654654]})

df['Name'] = df['Name'].str.replace('\d+', '')

print(df)

输出:

    Name   Value  Volume
0    May   21321      23
1  James   12311      12
2    Adi    4435      11
3  Hello   32454      34
4   Girl  654654      56

在正则表达式中\d代表“任何数字”,+代表“一个或多个”。

因此,其str.replace('\d+', '')含义是:“将字符串中所有出现的数字全部替换为空”。



 类似资料:
  • 问题内容: 我对此有一个类似的问题:Pandas DataFrame:从一列中的字符串中删除不需要的部分 。 所以我用了: 大多数项目以“ PPI /”开头,但并非全部。似乎当没有’PPI /’后缀的项目遇到此错误时: AttributeError:“ float”对象没有属性“ lstrip” 我在这里想念什么吗? 问题答案: 使用replace: 或string.replace:

  • 问题内容: 我使用了多种方式来拆分和剥离熊猫数据框中的字符串,以删除所有的’\ n’字符,但是由于某些原因,它根本不想删除附加在其他单词上的字符,即使我拆分它们。我有一个带有列的pandas数据框,该列使用Beautifulsoup捕获网页中的文本。文本已经由beautifulsoup清除了一点,但是未能删除附加在其他字符上的换行符。我的字符串看起来像这样: “动手\ n开发游戏。我们将研究与游戏

  • 我有一个数据帧df: 然后我想删除列表中指示的具有某些序列号的行,假设这里是然后离开: 如何或什么功能可以做到这一点?

  • 考虑到以下情况,我很难理解这里的机制。 我有一个从: 我想删除列a1中包含“aa”的所有行 我相信我已经尝试了这里的一切,但仍然得到了: ValueError:标签[False False False...False False]轴中不包含 是的,我也试过 任何帮助都将不胜感激,谢谢。

  • 问题内容: 这个问题已经在这里有了答案 : 在熊猫中的DataFrame上搜索“不包含” (6个答案) 去年关闭。 我在python中有一个非常大的数据框,我想在特定列中删除所有具有特定字符串的行。 例如,我想在数据框的列C中删除所有具有字符串“ XYZ”作为子字符串的行。 可以使用.drop()方法以一种有效的方式来实现吗? 问题答案: pandas具有向量化的字符串操作,因此您可以过滤掉包含不

  • 问题内容: 我想从“ tweets”列中删除停用词。如何遍历每一行和每一项目? 问题答案: 使用列表理解 返回值: