【问题标题】:converting a huge string to Nan value in a Dataframe将一个巨大的字符串转换为数据框中的 Nan 值
【发布时间】:2020-08-19 12:01:44
【问题描述】:

有没有办法使用 pandas 将长字符串转换为 NaNvalues?我尝试了这样的直接方法

df = df.replace('.....',np.nan)

但它们的数量太多了。

【问题讨论】:

  • 你能告诉你什么是太长了吗?
  • df[df.apply(lambda x: x.str.len() > MAX_LEN, axis=0)] = np.nan。根据需要设置MAX_LEN

标签: python-3.x pandas


【解决方案1】:

您可以使用str.len() 将它们设置为nan,让我们生成随机字符串并将它们存储在CSV 中

np.random.seed(0)
lens = np.random.choice(100, 100)
letters = re.findall(r'[a-z]', ascii_lowercase)
words = [''.join(np.random.choice(letters, i)) for i in lens]

df = pd.DataFrame(dict(words=words))
df.head()

# words
# 0 wmpctg
# 1 o
# 2 qpia
# 3 klnh
# 4 gnvpjgvl

让我们替换以上 5 个字符:

df.words[df.words.str.len() > 5] = np.nan
df.head()

#   words
# 0 NaN
# 1 o
# 2 qpia
# 3 klnh
# 4 NaN

【讨论】:

    猜你喜欢
    • 2017-04-25
    • 2018-01-31
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多