首页 > 解决方案 > 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')

我无法修改标题名称,我认为使用变量来缩短名称会使代码不那么明确且难以阅读。

标签: pythonpandas

解决方案


您所指的称为方法链接

有几种方法可以分解:

  • 将整个表达式放在括号中(如下所示)
  • 用于\不带括号的续行

例子:

query = (df
    .groupby(
        [
            'TEST_HOSPITAL_CONCEPT_NAME_CLEAN',
            'UNIT_AS_EXPECTED_TRANSFORMED',
            'NUMERATOR',
            'DENOMINATOR'
        ]
    )
    .size()
    .reset_index(name='COUNT')
)

推荐阅读