来自OOP语言,我熟悉面向对象设计的SOLID原则.似乎其中一些适合功能性编程模型,而其他部分在缺乏状态的世界中毫无意义.重构功能代码是否有类似的原则?
我正在使用 Python 和 Pandas。我有一个df与此类似的工作:
+--------+--------+-------+
| Col1 | Col2 | Col3 |
+--------+--------+-------+
| Team 1 | High | Pizza |
| Team 1 | Medium | Sauce |
| Team 1 | Low | Crust |
+--------+--------+-------+
Run Code Online (Sandbox Code Playgroud)
我想过滤df以便我只能从Col2.
这是我在没有运气的情况下尝试过的
df = df.loc[df['Col2'] == 'High' | (df['Col2'] == 'Medium')]
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
cannot compare a dtyped [bool] array with a scalar of type [bool]
Run Code Online (Sandbox Code Playgroud)
任何想法如何使这项工作以及该错误意味着什么?
首先,一点背景.我在emperor模式下在uWSGI下运行一个应用程序.uWSGI命令行:
uwsgi --master --emperor /etc/uwsgi --die-on-term --uid uwsgi --gid uwsgi
Run Code Online (Sandbox Code Playgroud)
我的应用程序的INI文件位于/ etc/uwsgi中,并在uWSGI启动时成功找到.我的应用程序的uwsgi和日志记录配置部分:
[uwsgi]
socket = /tmp/uwsgi.sock
master = true
processes = 8
threads = 4
harakiri = 60
harakiri-verbose = true
limit-post = 52428800
post-buffering = 8192
listen = 256
max-requests = 1000
buffer-size = 32768
no-orphans = true
logto = /var/log/uwsgi/my_app.log
log-slow = 1000
virtualenv = /usr/local/python/my_app
paste = config:%p
[loggers]
keys = root, my_app
[handlers]
keys = console
[formatters]
keys = generic
[logger_root]
level = WARN
handlers = …Run Code Online (Sandbox Code Playgroud)