现在想做的就是编写python可以自动的点击这个按钮或者自动的触发宏,不需要返回值,计算结果能跟手动一样返回在excel中即可。 # 已经试过的方法 宏名称是all_transport1(),两种方法都是网上查了资料找到的。 ...
这些状态文件将被注入到YAMLScript模板中,在其中可以读取甚至修改其值。 并对状态文件进行预处理,例如jinja2模板将自动自动进行。 除了添加!#yamlscript shebang(或将其附加到现有的)外,它就像添加Struts数据...
请注意@register_formula(...)装饰器,它在库中注册公式。 fromformula_prompt import * @ register_formula ([ NumInput ( "side length" )]) def volume_of_cube ( s ): return s ** 3 @ register_formula ([ ...
python中的Formula 1模拟。 背景 在reddit 用户引入的第一个概念之后开发。 他在 Matlab 中开发了它( ),但许多人希望以更强大且可供其他人使用的方式来查看它。 方法 建筑学 我很幸运地构建了一个面向对象的瘦...
文章目录1、statsmodels API2、statsmodels.api3、statsmodels.tsa.api4、statsmodels.formula.api5、参考资料 1、statsmodels API statsmodels是Pandas生态系统(ecosystem)下Statistics and Machine Learning下的...
@创建于:20210315
@修改于:20210315

文章目录

1、statsmodels API
statsmodels是Pandas生态系统(ecosystem)下Statistics and Machine Learning下的一个库。主要是偏传统频率学派统计方法,具体有下面三大主题组成。
statsmodels.api:横截面模型和方法。
statsmodels.tsa.api:时间序列模型和方法。
statsmodels.formula.api:使用公式字符串和DataFrame指定模型的方便接口。API支持直接使用from_formula导出该类下的模型。
2、statsmodels.api
3、statsmodels.tsa.api
4、statsmodels.formula.api
5、参考资料
In this post I’ll write an implementation inPython of Zeller’s Congruence, a simple and elegant littleformula to carry out the seemingly complex task of calculating the day of the week (Monday, ...
In this post I’ll write an implementation in Python of Zeller’s Congruence, a simple and elegant little formula to carry out the seemingly complex task of calculating the day of the week (Monday, Tuesday etc.) from a date.
在这篇文章中,我将用Zeller的Congruence用Python编写一个实现,这是一个简单优雅的小公式,可以执行看似复杂的任务,该任务从日期开始计算星期几(星期一,星期二等)。

克里斯蒂安·泽勒(Christian Zeller)和他的聪明小公式 (Christian Zeller and His Clever Little Formula)

The formula was developed by German mathematician Christian Zeller (24 June 1822, a Monday, to 31 May 1899, a Wednesday). I have always been impressed that a task which you might think highly complex and solvable only by some sort of brute-force iteration can actually be reduced to a short and elegant formula. Of course you wouldn’t use the code in this post in production applications as Python provides the functionality already, but I hope you agree it is a worthwhile programming exercise.
该公式由德国数学家克里斯蒂安·泽勒(Christian Zeller)(1822年6月24日,星期一,至1899年5月31日,星期三)开发。 我一直给我留下深刻的印象,您可能认为仅通过某种蛮力迭代就可以高度复杂且可解决的任务实际上可以简化为简短而优雅的公式。 当然,由于Python已经提供了该功能,因此您不会在生产应用程序中使用本文中的代码,但是我希望您同意这是值得进行的编程练习。
There are several versions of the formula, including two sub-versions of each, one for the Gregorian calendar and one for the Julian. This is the Gregorian version of the formula I will be implementing, in an image stolen from Wikipedia.
该公式有多个版本,每个版本包含两个子版本,一个用于格里高利历,一个用于朱利安。 这是我将要实现的公式的公历版本,该图片是从Wikipedia窃取的图像。
Note that the symbols like an elongated letter L and it’s mirror-image twin denote “floor”, ie the result of the term is rounded down to the nearest integer. The full Wikipedia article ishere and is worth at least skimming.
请注意,像拉长的字母L这样的符号及其镜像双像表示“底”,即,该项的结果四舍五入到最接近的整数。 完整的Wikipedia文章在这里,至少值得一读。
Rewritten in a more computer-friendly way we get:
以更友好的计算机方式进行重写,我们得到:

开始编码 (Starting to Code)

The project consists of these files which you can clone/download fromGithub.
该项目包含这些文件,您可以从Github克隆/下载这些文件。
zeller.py zeller.pymain.py main.py
This is the first part ofzeller.py.
这是zeller.py的第一部分。
import datetime import random import calendar import math def showdatesanddays(): """ Creates a selection of random dates and runs the Zeller Algorithm on them, printing out the date, and then the day according to Python and Zeller. """ # Zeller gives a value 0 to 6 representing Saturday to Friday zellerdays = ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"] for i in range(0, 19): d = datetime.date.fromtimestamp(random.randint(1, 1000000000)) print("Date: " + str(d)) print("Python: " + calendar.day_name[d.weekday()]) print("Zeller: " + zellerdays[zellergregorian(d)]) print("------------------")
Theshowdatesanddaysfunction firstly creates a list of day names starting with Saturday. These correspond with the values returned by Zeller’s Algorithm. We need to do this as “Python Weeks” start on a Monday.
showdatesanddays函数首先创建一个以星期六开始的日期名称列表。 这些与Zeller算法返回的值相对应。 我们需要这样做,因为“ Python周”从星期一开始。
After that we enter a for loop which generates a number of random dates using thefromtimestampandrandintfunctions. Thefromtimestampfunction creates a date from the number of seconds from 1/1/1970, and using 1 billion as the upper limit of randint will create dates between 1/1/1970 and 9/9/2001, which is adequate to demonstrate the algorithm.
之后,我们进入一个for循环,该循环使用fromtimestamp和randint函数生成许多随机日期。fromtimestamp函数从fromtimestamp1月1日开始的秒数创建日期,使用10亿作为randint的上限将创建1/1/1970到9/9/2001之间的日期,这足以证明算法。
After that we just need to print out the date and the corresponding day name using Python’scalendar.day_namelist. Finally we print out the day name again from thezellerdayslist, using a call to ourzellergregorianfunction as the list index.
之后,我们只需要使用Python的calendar.day_name列表打印日期和相应的日期名称即可。 最后,我们通过调用zellergregorian函数作为列表索引,再次从zellerdays列表中打印出日期名称。