【问题标题】:how to remove unicodes from a dataset in pandas python [closed]如何从 pandas python 的数据集中删除 unicodes [关闭]
【发布时间】:2018-11-16 04:14:02
【问题描述】:

我有一个名为 rssfeeds 的数据集,它是 � � � ,如何删除这个 unicodes 并用它的原始值替换

我的数据集:-

请帮帮我

【问题讨论】:

  • 是的,我认为是pandas.remove_unicode("weird symbol that looks like ? mark"),但我可能错了。欢迎使用 Stack Overflow - 请提供 Minimal, Complete, and Verifiable example
  • 对我来说,这些看起来像 UTF-8 编码的“花式引号”和撇号。您能否编辑问题以包含读取此数据的代码。
  • 请参阅Stack Overflow character-encoding tag info page,了解有关如何诊断和询问未知字符代码问题的信息。

标签: python string unicode


【解决方案1】:

You can use Series.str.decode() on the columns with the offending encoding, 但如果您可以重新读取数据并直接访问它,我不喜欢这种方法。

您可以在读取数据时使用encoding='utf-8' 参数,Pandas 会尝试为您解决。假设您的数据在 csv 中并且是 UTF-8 编码的,这样的事情:

df = pd.read_csv("yourfile.csv", encoding="utf-8")

编辑:您注意到您的数据是从数据库导入的,而 pandas.read_sql 没有 encoding 参数。因此,我建议使用我的第一个建议,Series.str.decode()。您可以在列上这样使用它:

df["column_name"] = df["column_name"].str.decode("encoding_name")

如果遇到错误可以传递一个 kwarg errors,默认为 strict,但也可以 ignore

df["column_name"] = df["column_name"].str.decode("encoding_name", errors="policy")

【讨论】:

  • 我是从 mongodb 导入的,怎么用呢
  • @RahulVarma 我添加了一个编辑来解决这个问题。如果回复解决了您最初的问题,则将其标记为已回答。
  • 试试他的 :- df.replace(['\d+', r'(?u)[^\w\s\?]+', '\s*$'], [' ','',''], 正则表达式=True)
猜你喜欢
  • 2019-03-11
  • 1970-01-01
  • 2021-08-03
  • 2020-02-12
  • 1970-01-01
  • 1970-01-01
  • 2021-08-07
  • 2019-07-05
  • 1970-01-01
相关资源
最近更新 更多