python - Pandas vs PEP 风格指南
问题描述
Pandas 矢量化方法允许在一行中做很多事情,这会导致比平时更长的行。如何协调 PEP 指南与 pandas 长行?
PEP 建议 python 最大行长度不应大于 72。
熊猫线可以是这样的:
df['VALUE_EXPRESSED'] = np.where((df['TEST_HOSPITAL_CONCEPT_NAME_CLEAN']=='EO AUTOMATED ABS') & (df['UNIT_AS_EXPECTED']=='cells/mcl'),df['VALUE_EXPRESSED']*1000,df['VALUE_EXPRESSED'] )
或者
query = df.groupby(['TEST_HOSPITAL_CONCEPT_NAME_CLEAN', 'UNIT_AS_EXPECTED_TRANSFORMED', 'NUMERATOR','DENOMINATOR']).size().reset_index(name='COUNT')
我无法修改标题名称,我认为使用变量来缩短名称会使代码不那么明确且难以阅读。
解决方案
您所指的称为方法链接。
有几种方法可以分解:
- 将整个表达式放在括号中(如下所示)
- 用于
\
不带括号的续行
例子:
query = (df
.groupby(
[
'TEST_HOSPITAL_CONCEPT_NAME_CLEAN',
'UNIT_AS_EXPECTED_TRANSFORMED',
'NUMERATOR',
'DENOMINATOR'
]
)
.size()
.reset_index(name='COUNT')
)
推荐阅读
- javascript - AngularJS:ng-repeat 检测组更改
- java - 从 Vert.x 调用多个呼出电话
- java - 用于测试 RabbitMQ 消费者和生产者的 JUnit 测试
- html - 边距正在移动父容器和子 div 而不仅仅是子 div
- reactjs - react native redux dispatch outside component is not trigger componentWillReceiveProps
- python - 如何连接到在 docker 实例中运行的 spark
- java - Java 连接到 MySql 数据库,NullPointerException
- jena - 在 .ttl 文件中定义自定义术语并上传它由 Fuseki 扩展,默认前缀包含 localhost
- reactjs - 如何以新类(扩展组件)格式正确格式化 JSX
- wordpress - 仅限制 Woocommerce 上传的特定文件类型 (Wordpress)