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

剥离/修剪数据框的所有字符串

百里业
2023-03-14
问题内容

清理python / pandas中的多类型数据框的值后,我要修剪字符串。我目前正在执行两条指令:

import pandas as pd

df = pd.DataFrame([['  a  ', 10], ['  c  ', 5]])

df.replace('^\s+', '', regex=True, inplace=True) #front
df.replace('\s+$', '', regex=True, inplace=True) #end

df.values

这很慢,我可以改善什么?


问题答案:

您可以使用DataFrame.select_dtypes选择string列,然后apply运行str.strip

注意:值不能typesdictslists,因为它们dtypesobject

df_obj = df.select_dtypes(['object'])
print (df_obj)
0    a  
1    c

df[df_obj.columns] = df_obj.apply(lambda x: x.str.strip())
print (df)

   0   1
0  a  10
1  c   5

但是,如果只有几列,请使用str.strip

df[0] = df[0].str.strip()


 类似资料:
  • 问题内容: 考虑一个非DOM场景,您想使用JavaScript / ECMAScript从字符串中删除所有非数字字符。范围内的任何字符都应保留。 您将如何用纯JavaScript实现此目标?请记住,这是一个非DOM方案,因此jQuery和其他涉及浏览器和按键事件的解决方案都不适合。 问题答案: 使用正则表达式为的字符串方法,这是与所有非数字匹配的速记字符类:

  • 问题内容: 我有一个不错的代码片段,但是我想知道是否有人对如何执行此操作有更好的建议: 你会怎么做? 问题答案: 您可以使用正则表达式(使用 模块)来完成同样的事情。下面的示例匹配(非十进制数字或句点的任何字符)的游程,并将其替换为空字符串。请注意,如果使用标志编译模式,则结果字符串仍可能包含非ASCII数字。同样,删除“非数字”字符后的结果不一定是有效数字。

  • 问题内容: 使用Python从字符串中剥离所有非字母数字字符的最佳方法是什么? 这个问题的PHP变体中提供的解决方案可能会进行一些小的调整,但对我来说似乎并不是很“ pythonic”。 作为记录,我不仅要删除句点和逗号(以及其他标点符号),还希望删除引号,方括号等。 问题答案: 使用Python从字符串中剥离所有非字母数字字符的最佳方法是什么? 这个问题的PHP变体中提供的解决方案可能会进行一些

  • 问题内容: 使用Python从字符串中剥离所有非字母数字字符的最佳方法是什么? 这个问题的PHP变体中提供的解决方案可能会进行一些小的调整,但对我来说似乎并不是很“ pythonic”。 作为记录,我不仅要删除句点和逗号(和其他标点符号),而且还要删除引号,方括号等。 问题答案: 我只是出于好奇而对某些功能进行了计时。在这些测试中,我从字符串(内置模块的一部分)中删除了非字母数字字符。发现使用已编

  • 我有一个标准的json结构,里面有这样的内容

  • 问题内容: 我正在寻找在表中查找与用户输入的特定数字匹配的记录。因此,用户可以输入12345,但是在数据库中可以是123zz4-5。 我想如果PHP函数可以在MySQL中工作,那么类似的事情就可以工作。 仅MySQL的等效功能或方法是什么? 问题答案: 虽然它不漂亮,并且显示出不匹配的结果,但这样做有帮助: 我仍然想找到一个与原始问题中类似的更好的解决方案。