TabPy-无效的文件路径或缓冲区对象类型
2018-01-03
1077
最近开始使用 TabPy。
我发现 Python 代码无法直接在 Tableau 中运行(通常在 Python 环境中运行良好),或者我可能做错了什么。
这是我面临的问题 -
我编写了代码
FLOAT(SCRIPT_REAL('
import pandas as pd
import numpy as np
from scipy import stats
# In[152]:
# Reading input file
data_file = pd.read_csv(_arg1)
a1 = data_file([Actualmax])
return a1' , '/User/****/caution new/7S.csv
# In[153]:
# Calculate Mean
mn = np.mean(a1)
return mn
'))
使用它从文件 7S 中的 actualmax 列中找到平均值。 相同的代码在 Python 中运行良好,但不知何故我收到了一条错误消息 -
之后,我甚至尝试了这样的事情 - 使用列作为参数而不是从本地系统导入文件,因为该文件已经在 Tableau 中
INT(SCRIPT_STR("
import pandas as pd
import numpy as np
from scipy import stats
# In[152]:
# Reading input file
data_file = pd.read_csv(_arg1)
# In[153]:
# Calculate Mean
mn = np.mean(_arg1)
return mn
",SUM([Actualmax])))
没有语法错误,但错误仍然相同。
当我写这样的内容时,我得到了结果 -
SCRIPT_INT("
import pandas as pd
import numpy as np
from scipy import stats
# In[152]:
# Reading input file
#data_file = pd.read_csv(arg)
# In[153]:
# Calculate Mean
mn = np.mean(arg)
return mn
",AVG([Actualmax]))
但这不是我想要的 - 因为它使用的是 Tableau 内部的 AVG 函数而不是 Python 的强大功能。
我在这里做错了什么?我该怎么做?
1个回答
显然答案很简单 - 我按照下面给出的链接中的 Bora Beran 的帖子操作 - https://community.tableau.com/docs/DOC-10856
在部分 - 使用每一行数据 - 分解数据
新代码是
(SCRIPT_REAL("
import numpy as np
# Normality test
#return _arg1
mn = np.mean(_arg1)
return mn
",ATTR([Actualmax])))
希望这对遇到此问题的其他任何人有所帮助。
祝您使用 Tableau 愉快。
Pragyan Bezbaruah
2018-01-04