最近开始使用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内部运行良好但不知何故我收到一条错误消息 -
之后,我甚至试过这样的事情 - 使用Column作为参数而不是从本地系统导入文件,因为该文件已经在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的强大功能。
我在这里做错了什么?我该怎么办?
显然答案很简单 - 我在下面给出的链接中关注了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'ing。