4 ms·
I agree with you on piping but writing each method on its own line makes the code very approachable (also easier to work with). Consider this code (from a cour
by __mharrison__ 2y ago
I agree with you on piping but writing each method on its own line makes the code very approachable (also easier to work with).
Consider this code (from a course I'm teaching this week):
(df
.pipe(lambda df_: print(df_.columns) or df_)
.groupby('activity_id', observed=True)
[non_agg_cols]
.apply(lambda g: g.assign(distance=calculate_distance_np(g)), include_groups=True)
.pipe(fix_index)
.pipe(lambda df_: print('DONE!') or df_)
)
vs:
(df.pipe(lambda df_: print(df_.columns) or df_).groupby('activity_id', observed=True) [non_agg_cols].apply(lambda g: g.assign(distance=calculate_distance_np(g)), include_groups=True).pipe(fix_index).pipe(lambda df_: print('DONE!') or df_))
- deadbabe 2y agoI don’t really think the first example is easier to read, it’s more of an illusion. A skilled reader should be able to carry the context as they read along. It is only because we occasionally work with inexperienced coders that the list style is necessary. Consider: “The quick brown fox jumped over the lazy ass dog” Vs The quick brown fox jumped over the lazy ass dog The second example helps a reader understand the subjects and action but it is wholly unnecessary for people who know how to read.
- __mharrison__ 2y agoIt is certainly easier to work with the former. If you need to comment out a line, it is painless.