pd.get_dummies
允许将类别变量转换为伪变量。除了重建分类变量很简单外,还有没有一种首选/快速的方法来做到这一点?
In [46]: s = Series(list(‘aaabbbccddefgh’)).astype(‘category’)
In [47]: s
Out[47]:
0 a
1 a
2 a
3 b
4 b
5 b
6 c
7 c
8 d
9 d
10 e
11 f
12 g
13 h
dtype: category
Categories (8, object): [a < b < c < d < e < f < g < h]
In [48]: df = pd.get_dummies(s)
In [49]: df
Out[49]:
a b c d e f g h
0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0
3 0 1 0 0 0 0 0 0
4 0 1 0 0 0 0 0 0
5 0 1 0 0 0 0 0 0
6 0 0 1 0 0 0 0 0
7 0 0 1 0 0 0 0 0
8 0 0 0 1 0 0 0 0
9 0 0 0 1 0 0 0 0
10 0 0 0 0 1 0 0 0
11 0 0 0 0 0 1 0 0
12 0 0 0 0 0 0 1 0
13 0 0 0 0 0 0 0 1
In [50]: x = df.stack()
# I don't think you actually need to specify ALL of the categories here, as by definition
# they are in the dummy matrix to start (and hence the column index)
In [51]: Series(pd.Categorical(x[x!=0].index.get_level_values(1)))
Out[51]:
0 a
1 a
2 a
3 b
4 b
5 b
6 c
7 c
8 d
9 d
10 e
11 f
12 g
13 h
Name: level_1, dtype: category
Categories (8, object): [a < b < c < d < e < f < g < h]
因此,我认为我们需要一个函数来“执行”此操作,因为这似乎是很自然的操作。也许get_categories()
,看这里
问题内容: 我想像这样重构代码: 我如何在Eclipse中自动执行此操作,因此x的类型提升到很长会导致因变量也改变其类型: ? 问题答案: 我通常的做法是将上游变量之一更改为long。这将导致Eclipse在每个您提供长值而不是int的赋值中给出错误。然后,我只需在每个控件上选择ctrl-1(快速修复),然后选择“将变量x更改为long”。 当新的类型不能直接分配给旧的类型时,此方法有效。
对于一篇研究论文,我将使用套索模型进行分类和特征选择。我正准备使用一种热编码来处理分类数据,并需要找出哪些特征映射到原始分类值,以确定最终为最终模型选择了哪些特征。我在谷歌上搜索这个问题已经有一段时间了,但还没有找到答案。 scikit的一个热编码如何分配值?例如,假设某个变量的分类值为{1,2,3,4}。一个热编码是否按时间顺序将它们组织为虚拟对象(即,删除1,将第一个虚拟对象设置为值2,将第二
问题内容: 我刚刚开始学习Java,并且很好奇Java是否有良好的对象分解方法?让我描述一个问题。在大型软件项目中,总是有诸如“核心”或“ ui”之类的大型类,它们往往具有许多方法,并且旨在作为较小类之间的中介。例如,如果用户单击某个窗口上的按钮,则该窗口的类将消息发送到“ ui”类。此类“ ui”类捕获此消息,并通过使用应用程序用户界面执行某些操作(通过其成员对象之一的调用方法)或通过将消息发布
问题内容: 我正在用最简单的方法在熊猫中进行不区分大小写的合并。有没有一种方法可以正确地在合并?我是否需要使用(?i)或带有ignorecase的正则表达式?在下面的代码段中,我加入了一些国家,其中一个文件中可能是“美国”,另一个文件中可能是“美国”,我只是想把这种情况排除在外。谢谢! 问题答案: 将用于合并的两列中的值小写,然后在小写列中合并
我使用了下面的函数,它获取成员的登录日期和合同长度,并返回一个修改后的数据框,其中包含每个成员的到期日期。该函数按预期工作,但我想知道是否有更干净的方法来编写嵌套函数。我知道python没有实现,但是有没有办法重写所有语句?
使用df=pd.get后_dummies(df,列=['D']) 有没有一种方法,在不使用df[[a'、'B'、'C'、'D_Califorina'、'D_New York'、'D_Florida'、'E']的情况下,输出是这样的?
并且生成失败: 任务“:MyProject:SetEnv”执行失败。 启动进程“command”export“时出现问题 我已经单独测试了它:值确实会被传递,并且我的测试任务接收所有东西,无论是systemProperty、environment变量还是jvmarg。 所以Gradle本身在这里并没有什么问题。 当我在实际项目中尝试时,问题就出现了。它使用Spring进行依赖注入。我可能错了,但看
主要内容:对象创建,获取统计信息,获取类别属性,重命名类别,追加新类别,删除类别,分类对象比较通常情况下,数据集中会存在许多同一类别的信息,比如相同国家、相同行政编码、相同性别等,当这些相同类别的数据多次出现时,就会给数据处理增添许多麻烦,导致数据集变得臃肿,不能直观、清晰地展示数据。 针对上述问题,Pandas 提供了分类对象(Categorical Object),该对象能够实现有序排列、自动去重的功能,但是它不能执行运算。本节,我们了解一下分类对象的使用。 对象创建 我们可以通过多种