Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pandas/PEP8——这么长的代码行正确吗?可以改进吗?_Python_Pandas_Formatting_Pep8 - Fatal编程技术网

Python Pandas/PEP8——这么长的代码行正确吗?可以改进吗?

Python Pandas/PEP8——这么长的代码行正确吗?可以改进吗?,python,pandas,formatting,pep8,Python,Pandas,Formatting,Pep8,在编写代码时,我通常会构建这样的长行,但我已经忘记了发生了什么,我发现这样很难阅读。我必须解构并运行每个部分,以了解实际情况 但是,当我自学我从中学到的资源时,我说高级用户将使用一行代码,而初学者将使用多行代码 所以我的问题是: 这一行(保持原样)会更好吗?如果是,如何将其格式化为79个字符以下(根据PEP8) 还是把它分成几块比较好,以便以后更容易再讨论(或者奇怪,我不能像这样理解它) “高级用户会使用一行代码,而初学者会使用很多”我不认为这是真的。可能的情况是,对于做同样的事情,高级用户需要

在编写代码时,我通常会构建这样的长行,但我已经忘记了发生了什么,我发现这样很难阅读。我必须解构并运行每个部分,以了解实际情况

但是,当我自学我从中学到的资源时,我说高级用户将使用一行代码,而初学者将使用多行代码

所以我的问题是:

这一行(保持原样)会更好吗?如果是,如何将其格式化为79个字符以下(根据PEP8)

还是把它分成几块比较好,以便以后更容易再讨论(或者奇怪,我不能像这样理解它)


“高级用户会使用一行代码,而初学者会使用很多”我不认为这是真的。可能的情况是,对于做同样的事情,高级用户需要一行代码,而初学者需要几行代码,但这并不意味着将多行代码压缩成一行。这更像是一种个人风格,但我会说任何可以自然命名的名字。例如,将您在
ser.isin(collection))
中引用的任何集合保存到一个变量中。至少对于那些关心编写可读、可维护代码的人来说,这是一种糟糕的风格。理想情况下,您的代码是自文档化的。我同意@ayhan的观点,并且我想添加一个,添加函数时不要(太)害羞。我不知道上下文,但我有一种感觉,很多代码在其他地方被重复使用,只是为了有一个行,而它可以封装在一个函数中,这个函数的名称可以是不言自明的。“高级用户会使用一行代码,而初学者会使用很多”我不认为这是真的。可能的情况是,对于做同样的事情,高级用户需要一行代码,而初学者需要几行代码,但这并不意味着将多行代码压缩成一行。这更像是一种个人风格,但我会说任何可以自然命名的名字。例如,将您在
ser.isin(collection))
中引用的任何集合保存到一个变量中。至少对于那些关心编写可读、可维护代码的人来说,这是一种糟糕的风格。理想情况下,您的代码是自文档化的。我同意@ayhan的观点,并且我想添加一个,添加函数时不要(太)害羞。我不知道上下文,但我有一种感觉,很多代码在其他地方被重复使用,只是为了有一个行程序,而它可以封装在一个函数中,这个函数的名称可以是不言自明的。
top_products_for_customer_group = stock_trans[(stock_trans["SA_DACCNT"].isin(customer_seg_df[self.customer_seg_df["Label"] == customer_seg_df[self.customer_seg_df["SA_DACCNT"] == acc]["Label"].iloc[0]]["SA_DACCNT"]))].groupby(["SA_PRODUCT", "SA_DESC"]).count()["SA_ACCOUNT"].reset_index().sort_values("SA_ACCOUNT", ascending=False)