Python:如何将 df 中的 str 替换为 np.nan?

问题描述 投票:0回答:1

我有一个数据框 X。X 包含字符串和数值。我需要将整个数据框中的所有 str 替换为 np.nan 。 我尝试了几种方法: enter image description here 但有些不对劲。我怎样才能改变它们?

python arrays nan
1个回答
0
投票

您可以通过使用 applymap 函数和自定义 lambda 函数来检测某个值是否是字符串 (str) 的实例并将其替换为 np.nan 来实现此目的。

这是一个简单的例子:

import pandas as pd
import numpy as np

data = {
    'A': [1, 'apple', 3],
    'B': ['banana', 2, 'cherry'],
    'C': [1, 2, 3]
}
X = pd.DataFrame(data)

# Replace strings with np.nan
X = X.applymap(lambda x: np.nan if isinstance(x, str) else x)

print(X)
© www.soinside.com 2019 - 2024. All rights reserved.