Python 如何从MS SQL数据集中的R或sci工具包中的行信息转换为列标志?

Python 如何从MS SQL数据集中的R或sci工具包中的行信息转换为列标志?,python,sql-server,r,scikit-learn,dataset,Python,Sql Server,R,Scikit Learn,Dataset,我试图看看是否有更好的范例来生成我们将用于数据科学练习的数据集。我的同事将使用一个包含大量标志的成员时间序列,如下所示,由于项目数量在数百个,并且可能会增加,我想知道社区是否知道更好的方法查询这些类型的标志,以便在R或scikit learn中使用 我可以继续使用SQL本身生成SQL语句(通过查询所有可用项来获取case语句)并运行这些语句,但我开始认为在分析方面可能存在一个更巧妙的解决方案,我可以向我的同事提出。此外,MS SQL数据库中的最大列数上限为1024(非广域)和30000(广域),

我试图看看是否有更好的范例来生成我们将用于数据科学练习的数据集。我的同事将使用一个包含大量标志的成员时间序列,如下所示,由于项目数量在数百个,并且可能会增加,我想知道社区是否知道更好的方法查询这些类型的标志,以便在R或scikit learn中使用

我可以继续使用SQL本身生成SQL语句(通过查询所有可用项来获取case语句)并运行这些语句,但我开始认为在分析方面可能存在一个更巧妙的解决方案,我可以向我的同事提出。此外,MS SQL数据库中的最大列数上限为1024(非广域)和30000(广域),因此在某些情况下,此范例完全失败

他们要求进行的分析:

    select 
    a.member,a.timewindow
    ,max(case when [member has item 1 test here] then 1 else 0 end) as hasItem1
    ,max(case when [member has item 2 test here] then 1 else 0 end) as hasItem2
...
    ,max(case when [member has item N test here] then 1 else 0 end) as hasItemN

    ,max(case when [member has status 1 test here] then 1 else 0 end) as hasStatus1
    ,max(case when [member has status 2 test here] then 1 else 0 end) as hasStatus2
...
    ,max(case when [member has status N test here] then 1 else 0 end) as hasStatusN
    from 
        (
        [massive join w/ granular member time lined information ]) a
    group by
    a.member,a.timewindow
与他们分享什么似乎是最佳选择,但需要建议如何在R/python(scikit-learn)中处理他们的问题:


有人知道他们应该使用什么来处理这种类型的数据集来进行推断吗?

您尝试过pyodbc吗

先接通

conn = pypyodbc.connect("DRIVER={SQL Server};SERVER=MyServer;UID=ronjeremi;PWD=password;DATABASE=db")

您可以阅读更多

右侧,这是一种连接。。。我试图弄清楚是否有方法不将数百个标志语句输出到单独的列,以及是否已知存在行方法,因此我可以建议使用这些方法。
conn = pypyodbc.connect("DRIVER={SQL Server};SERVER=MyServer;UID=ronjeremi;PWD=password;DATABASE=db")