使用Python脚本的Tableau - Pandas SHIFT函数问题

时间:2018-01-29 21:49:22

标签: python python-3.x tableau tabpy

我正在使用Tableau 10.4.2中的一个项目。 我的数据在SQL Cube中 - 我正在使用的列格式为: MemberID - 这是一个带有成员ID的字符串字段 AdmissionDate - 这是一个格式为mmddYYYY的DateTime字段 DischargeDate - 这是一个格式为mmddYYYY

的DateTime字段

我想要完成的是 - 我需要找到患者出院的情况,然后在随后的30天内重新入院。因此,我需要每位患者(memberID)的出院日期和NEXT入院日期的差异。有多个承认&每个会员ID(病人)的出院日期。

我认为一个简单的解决方案是使用pandas将入场日期的列向上移动1 ...(我在我的计算机上运行TabPy服务器实例并且它运行正常) - 对于每个memberID - 但保持遇到这样的错误 - " TypeError:Series类型的对象不是JSON可序列化的"

我的脚本是

SCRIPT_REAL("
import pandas as pd
df = pd.DataFrame({'MemberID': _arg1,'AdmitDate': _arg2})
df['AdmitDate'] = pd.to_datetime(df['AdmitDate'])
MemberID = df.MemberID

for i in MemberID:
    newadmitdate = df.AdmitDate.shift(-1)
    return newadmitdate

",
ATTR([GR2MCL Member ID]),attr([AdmitDateCalc])
)

要进行故障排除,我创建了一个类似格式的csv文件 - 并且可以看到我的脚本正在正确地移动列。我能看到的唯一问题是它没有在每个MemberID上正确循环,但我没有得到像我在Tableau中获得的错误。

对此的任何想法都将不胜感激!

0 个答案:

没有答案