从Python扩展转换数据的错误

jiri_kulikjiri_kulik 成员职位:1贡献我
2018年11月编辑 帮助

你好,

我想报告从Python到RM数据集转换日期数据类型的错误:

1.数据集包含列'Date',类型为Date,角色为'id'。列的行为与日期应该的一样(排序、绘制、使用宏提取最大日期)。

2.该列被正确转换为python的pandas -该列的dtype为datetime64[ns],所有使用datetime数据的常见pandas操作都按预期工作。此外,该列的元数据似乎是正确的:'Date': (' Date', 'id')

3.该列只包含传递回RapidMiner后缺失的值(示例数量相同,但该列中的所有值都缺失)。即使代码只有:

进口熊猫
def rm_main(数据):
返回数据

我通过文件扩展找出是否有任何具体的日期,但似乎并非如此。我还创建了一个全新的空项目,其中包含一个简单的数据集(只有两列,一列用于日期,另一列用于虚拟数据),但是RM接收到日期列中的数据时总是丢失。

我只是在探索RapidMiner,所以如果我遗漏了一些明显的东西,我很抱歉。但是,如果从RM到python的转换有效,那么在我看来,相反的转换也应该有效。

我使用python 3.5.3, pandas 0.19.2和numpy 1.12.0从mac上的Anaconda。

RapidMiner Studio 7.4.000

Python脚本7.4.0

致以最亲切的问候

雅罗西克

更新

当python脚本中的tz_localalize使日期列具有时区意识时,从pandas到dataset的转换就会工作。

从我的实验看来,RapidMiner中的所有日期和date_time类型无论如何都是时区感知的,所以有可能在从数据集转换为熊猫时立即将它们本地化吗?

最后一个建议-为什么不在RapidMiner中创建一个朴素的,不知道时区的日期类型?

致以最亲切的问候

雅罗西克

Thomas_Ott

最佳答案

  • gmeiergmeier 员工,成员职位:24RM工程
    解决方案接受

    我不能重现你的问题,RM > Python > RM。它在Windows和Mac上运行良好,即使我在个人电脑或Studio上更改了时区。你能把你的测试过程贴出来吗?

    在RapidMiner Studio中,日期列中的日期不受时区影响,只是像这样显示。您可以通过Preferences > General > timezone调整显示时区。

    最好的

    Gisa

    Thomas_Ott

答案

  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,成员职位:1761年独角兽

    有趣的是,我不知道RM > Pandas > RM会因为时区而导致这个问题。要尝试的一件事是通过Date to nominal操作符将RM日期时间值更改为标称数据类型,然后将其传递给Python?如果它需要数据时间,那么在pandas中转换它。我们来看看@gmeier我相信她起草了执行Python操作符。

登录注册置评。