将长长的方法链分解为Python

问题描述 投票:0回答:4
这样的行:

t_values = df_grouped_by_day.sort_values('day_of_week').groupby(['day_of_week', 'day_of_week_name'])['Show_up'].apply(lambda sample: ttest_ind(population, sample)).reset_index()

到目前为止,我想出的最胜利的方法是:

t_values = (df_grouped_by_day .sort_values('day_of_week') .groupby(['day_of_week', 'day_of_week_name'])['Show_up'] .apply(lambda sample: ttest_ind(population, sample)) .reset_index())


python python-3.x pandas
4个回答
17
投票
\

可以放在线的末端,除了最后一个。

t_values = df_grouped_by_day \ .sort_values('day_of_week') \ .groupby(['day_of_week', 'day_of_week_name'])['Show_up'] \ .apply(lambda sample: ttest_ind(population, sample)) \ .reset_index()
    

9
投票
完成完整性,另一种方法是仅在已经存在的括号或括号对中打破线条。它避免了括号的包装和新线的插图,但我觉得它不太可读:

t_values = df_grouped_by_day.sort_values('day_of_week'
       ).groupby(['day_of_week', 'day_of_week_name']
       )['Show_up'
       ].apply(lambda sample: ttest_ind(population, sample)
       ).reset_index())

pypythonblack
包裹了call链条的线条:

4
投票
t_values = ( df_grouped_by_day.sort_values('day_of_week') .groupby( [ 'day_of_week', 'day_of_week_name', "foo", "bar", "buzz", "foobar", "foobarbuz", ] )['Show_up'] .apply( lambda sample: ttest_ind( population, sample, foo, bar, buzz, foobar, foobarbuz, ) ) .reset_index() )

i我添加了更多参数,以扩展上述示例,但减少了它们以使我的观点在下面的一个中。

以个人的方式,我曾经更喜欢以下内容,但是在没有参数的一些呼叫以及混合方形 - 布拉斯附件语法时,这可能会变得很奇怪,就像上面的示例一样。
t_values = df_grouped_by_day.sort_values(
    'day_of_week',
).groupby(
    [
        'day_of_week',
        'day_of_week_name',
    ]
).apply(
    lambda sample: ttest_ind(population, sample)
)

0
投票

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.