为什么 Python 没有完成 def 语句?
why Python isn't completing the def statement?
仍在使用 Python 开始我的旅程,所以这是一个我不明白的简单问题。
尝试从此处使用 Ziggy 对 Cramer 的 V 统计量的定义声明:
Using pandas, calculate Cramér's coefficient matrix
但是当我把它放入 Python 时,定义并没有在 return:
处结束
>>> import pandas as pd
>>> def cramers_corrected_stat(confusion_matrix):
... # calculate Cramers V statistic for categorial-categorial association.
... # uses correction from Bergsma and Wicher,
... # Journal of the Korean Statistical Society 42 (2013): 323-328
...
... chi2 = ss.chi2_contingency(confusion_matrix)[0]
... n = confusion_matrix.sum()
... phi2 = chi2/n
... r,k = confusion_matrix.shape
... phi2corr = max(0, phi2 - ((k-1)*(r-1))/(n-1))
... rcorr = r - ((r-1)**2)/(n-1)
... kcorr = k - ((k-1)**2)/(n-1)
... return np.sqrt(phi2corr / min( (kcorr-1), (rcorr-1)))
...
我没看到什么?
当你在 REPL 中时,你需要两个连续的空行来完成语句。但是在REPL中写代码是相当麻烦的,因为你不能轻易地edit/fix以前写过的代码,所以我建议你把你所做的任何事情都保存到.py
文件中,在那里你可以编辑更多的代码很容易然后 运行 通过 python ./myfile.py
.
的代码
仍在使用 Python 开始我的旅程,所以这是一个我不明白的简单问题。
尝试从此处使用 Ziggy 对 Cramer 的 V 统计量的定义声明: Using pandas, calculate Cramér's coefficient matrix
但是当我把它放入 Python 时,定义并没有在 return:
处结束>>> import pandas as pd
>>> def cramers_corrected_stat(confusion_matrix):
... # calculate Cramers V statistic for categorial-categorial association.
... # uses correction from Bergsma and Wicher,
... # Journal of the Korean Statistical Society 42 (2013): 323-328
...
... chi2 = ss.chi2_contingency(confusion_matrix)[0]
... n = confusion_matrix.sum()
... phi2 = chi2/n
... r,k = confusion_matrix.shape
... phi2corr = max(0, phi2 - ((k-1)*(r-1))/(n-1))
... rcorr = r - ((r-1)**2)/(n-1)
... kcorr = k - ((k-1)**2)/(n-1)
... return np.sqrt(phi2corr / min( (kcorr-1), (rcorr-1)))
...
我没看到什么?
当你在 REPL 中时,你需要两个连续的空行来完成语句。但是在REPL中写代码是相当麻烦的,因为你不能轻易地edit/fix以前写过的代码,所以我建议你把你所做的任何事情都保存到.py
文件中,在那里你可以编辑更多的代码很容易然后 运行 通过 python ./myfile.py
.