清理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
。
注意:值不能types
像dicts
或lists
,因为它们dtypes
是object
。
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的等效功能或方法是什么? 问题答案: 虽然它不漂亮,并且显示出不匹配的结果,但这样做有帮助: 我仍然想找到一个与原始问题中类似的更好的解决方案。