我有一个大数据集,需要读入 pandas 数据框。
它包含大量由一些相当长的字符串组成的分类数据。
尝试使用 pandas read_sql_query 方法,我似乎无法指定哪些列应被视为分类数据。
这意味着我有记忆问题。
我有 R 背景,我可以指定诸如字符串作为因子之类的东西。这意味着您可以拥有内存占用较小的长字符串,因为它们在 R 中被索引为整数。我不能在 Python/Pandas 中做同样的事情吗?
我想在从数据库读取数据时这样做!不是之后。一旦将字符串放入数据框中,将字符串转换为 pandas 中的类别就很容易,但这不是我想要的。
我知道我可以简单地对数据库中的数据进行编码,但我想避免这种情况。
恐怕目前在数据库端进行编码(这可以使用带有映射表的 JOIN 来完成)是唯一可行的选择。
有一些类似的功能请求:
以块的形式读取数据并将每个块转换为
category
dtype 可能很棘手,因为可能需要连接所有块中的类别。
在数据集中,am gear 是分类的,但 pandas 将其读取为整数,请将这些列转换为类别