Python Pandas ōcō 不只是一个列,从前后空白中删除
在使用 Pandas 进行数据处理时,经常需要进行数据的清洗和转换。其中一个常见的操作是删除字符串列中的前后空白。这在数据前期清洗中尤其重要,因为一些不规范的数据会带有不必要的前后空白,导致数据无法正确匹配和处理。本文将介绍如何在 Python Pandas 中删除字符串列的前后空白。
删除单个字符串列中的前后空白
在 Pandas 中,可以通过 strip() 函数来删除字符串中的前后空白字符。如果要删除单个字符串列中的前后空白,可以使用如下代码:
import pandas as pd
# 创建一个包含字符串前后带空格的 DataFrame
df = pd.DataFrame({'A': [' foo', 'bar ', ' baz ']})
# 删除单个字符串列中的前后空白
df['A'] = df['A'].str.strip()
# 打印输出删除前后空白后的 DataFrame
print(df)
输出结果为:
A
0 foo
1 bar
2 baz
在代码中,首先创建了一个包含字符串前后带空格的 DataFrame。然后使用 str.strip() 函数删除单个字符串列中的前后空白,并将结果赋值给同一列。最后打印输出删除前后空白后的 DataFrame。
删除多个字符串列中的前后空白
如果要删除多个字符串列中的前后空白,可以使用 applymap() 函数来对 DataFrame 中所有字符串列应用 strip() 函数。例如:
import pandas as pd
# 创建一个包含多个字符串前后带空格的 DataFrame
df = pd.DataFrame({
'A': [' foo', 'bar ', ' baz '],
'B': [' qux ', 'quux ', ' corge '],
})
# 删除多个字符串列中的前后空白
df = df.applymap(lambda x: x.strip() if isinstance(x, str) else x)
# 打印输出删除前后空白后的 DataFrame
print(df)
输出结果为:
A B
0 foo qux
1 bar quux
2 baz corge
在代码中,首先创建了一个包含多个字符串前后带空格的 DataFrame。然后使用 applymap() 函数对所有字符串列应用 strip() 函数,同时保留非字符串列不变。最后打印输出删除前后空白后的 DataFrame。
结论
在 Python Pandas 中,通过 strip() 函数和 applymap() 函数可以方便地删除单个和多个字符串列中的前后空白,从而在数据处理过程中避免空白带来的影响。
极客笔记