📜  pandas 删除空格 - Python (1)

📅  最后修改于: 2023-12-03 14:45:03.436000             🧑  作者: Mango

Pandas 删除空格 - Python

在数据处理和分析中,经常需要清理和处理数据中的空格或空值。Pandas提供了多种方法来处理这些情况,本文将介绍如何删除Pandas中的空格。

方法一:使用 strip() 方法

strip() 方法可以删除字符串左右两侧的空格,可以将其应用到 Pandas DataFrame 中的所有字符串列。下面是一个示例代码:

import pandas as pd

# 创建一个 DataFrame
data = {
    'name': ['  Alice  ','Bob  ',' Carol', ' Dave  '],
    'age': [20, 25, 30, 35]
}
df = pd.DataFrame(data)

# 删除所有字符串列的空格
df = df.applymap(lambda x: x.strip() if isinstance(x, str) else x)

print(df)

输出结果:

    name  age
0  Alice   20
1    Bob   25
2  Carol   30
3   Dave   35
方法二:使用 replace() 方法

另一个常见的方法是使用 replace() 方法,可以替换字符串中的指定字符,例如将空格替换为空字符串。下面是一个示例代码:

import pandas as pd

# 创建一个 DataFrame
data = {
    'name': ['  Alice  ','Bob  ',' Carol', ' Dave  '],
    'age': [20, 25, 30, 35]
}
df = pd.DataFrame(data)

# 删除所有字符串列的空格
df = df.replace(r'\s+', '', regex=True)

print(df)

输出结果:

    name  age
0  Alice   20
1    Bob   25
2  Carol   30
3   Dave   35
方法三:使用 str.strip() 方法

如果只需要删除某一列中的空格,可以使用 Pandas 的 str.strip() 方法,该方法只对字符串列有效。下面是一个示例代码:

import pandas as pd

# 创建一个 DataFrame
data = {
    'name': ['  Alice  ','Bob  ',' Carol', ' Dave  '],
    'age': [20, 25, 30, 35]
}
df = pd.DataFrame(data)

# 删除 name 列中的空格
df['name'] = df['name'].str.strip()

print(df)

输出结果:

    name  age
0  Alice   20
1    Bob   25
2  Carol   30
3   Dave   35

以上三种方法都可以有效地删除 Pandas DataFrame 中的空格,具体使用哪种方法取决于数据的特点和需求。