我对熊猫还不熟悉。。。我想用一种简单而通用的方法来查找哪些列是我的DataFrame
中的categorical
,而不是像this SO question中那样手动指定每个列类型。创建df
时使用:
import pandas as pd
df = pd.read_csv("test.csv", header=None)
例如
0 1 2 3 4
0 1.539240 0.423437 -0.687014 Chicago Safari
1 0.815336 0.913623 1.800160 Boston Safari
2 0.821214 -0.824839 0.483724 New York Safari
是的。
更新(2018/02/04)问题假设数值列不是分类的,@Zero'saccepted answer solves this。
小心-正如@Sagarkar的评论所指出的,这并不总是正确的。困难在于数据类型和分类/序数/名词类型是正交的概念,因此它们之间的映射并不简单。@下面Jeff的answer指定了实现手动映射的精确方式。
为了子孙后代。选择数据类型的规范方法是
.select_dtypes
。您可以指定一个实际的numpy类型或可转换类型,或不是numpy类型的“类别”。可以使用
df._get_numeric_data()
获取数值列,然后查找分类列我发现的方法是更新到Pandas v0.16.0,然后排除数字类型:
如果不更改任何类型,也不向NumPy添加更多类型,那么它可以工作。在the question's comments by @Jeff中的建议是
include=["category"]
,但这似乎不起作用。NumPy类型:link
相关问题 更多 >
编程相关推荐