【问题标题】:Encoding a new categorical label column for data based on value根据值为数据编码新的分类标签列
【发布时间】:2017-08-30 18:11:02
【问题描述】:

我有一个数据集,它是商品价格的每日记录。根据价格数据,我想编码一个新的“动作”变量。该变量应该用 -1、0 或 1 标记价格数据的每一行。这些数字对应于“卖出、无所事事、买入”。我可以在 R 或 Python 中做到这一点。最有效的方法是什么?

示例输入:

8/26/2017, 5
8/27/2017, 5
8/28/17, 1
8/29/17, 3
8/30/17, 5 

样本输出:

8/26/2017, -1
8/27/2017, -1
8/28/17, 1
8/29/17, 0
8/30/17, -1 

【问题讨论】:

    标签: python r encoding


    【解决方案1】:

    我们可以使用matchR 中索引它

    df1$price <- c(-1, 1, 0)[match(df1$price, c(5, 1, 3))]
    df1$price
    #[1] -1 -1  1  0 -1
    

    数据

    df1 <- structure(list(date = c("8/26/2017", "8/27/2017", "8/28/17", 
    "8/29/17", "8/30/17"), price = c(5, 5, 1, 3, 5)), .Names = c("date", 
    "price"), class = "data.frame", row.names = c(NA, -5L))
    

    【讨论】:

    • 事情是这样的:我有数千行。我不想自己对每一个进行分类。程序必须根据参数自动为我执行此操作:例如,如果 x 增加 20%,则归类为卖出
    • @zsad512 这是另一回事。使用一个小例子并且在帖子中没有提及任何内容,当你得到答案时,想出这些东西也不好。如果索引不基于任何模式,即如果它是自定义的,那么您需要为此设置一个键/值对。否则程序不会自动找到它
    • @zsad512 可以查看自己的帖子This variable should label each row of the price data with a -1, 0, or 1别人怎么知道索引多了..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多