【问题标题】:Python pandas string handling categorical data from SQL databasePython pandas 字符串处理来自 SQL 数据库的分类数据
【发布时间】:2018-12-06 00:50:34
【问题描述】:

我有一个大型数据集,需要读入 pandas 数据框。

它包含很多分类数据,由一些相当长的字符串组成。

尝试使用 pandas read_sql_query 方法我似乎无法指定应将哪些列视为分类数据。

这意味着我遇到了内存问题。

我有 R 的背景,我可以指定诸如字符串作为因子之类的东西。这意味着您可以拥有内存占用很小的长字符串,因为它们在 R 中被索引为整数。我不能在 Python/Pandas 中做同样的事情吗?

当我从数据库中读取数据时,我想这样做!不是之后。将字符串转换为 Pandas 中的类别很容易,一旦你将它放在数据框中,但这不是我想要的。

我知道我可以简单地对数据库中的数据进行编码,但我想避免这种情况。

【问题讨论】:

    标签: python database pandas categorical-data


    【解决方案1】:

    恐怕目前在 DB 端进行编码(这可以使用 JOIN 和映射表来完成)是唯一可行的选择。

    有一些类似的功能请求:

    读取块中的数据并将每个块转换为category dtype 可能会很棘手,因为可能需要连接所有块中的类别。

    【讨论】:

    • 谢谢。我有点难过这还没有。一般来说,与 R 相比,pandas 中的整个类型映射似乎有点粗略,在 R 中你可以创建一个字典来在任何类型之间进行转换。哦,好吧,我将不得不等待。我会尝试研究 chunksize 也许我可以自己包装它。
    猜你喜欢
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多