在python中将代码合并为一个简洁的代码

时间:2019-03-19 16:22:48

标签: python pandas

我有一个数据集:

df = pd.DataFrame({ 
    'region'  : ['a', 'a', 'a','b','b','b','c','c','c','c','d','d','d','f','f','f','f','g','g','g','g','g'],
    'month' : [8,9,10,12,1,2,8,9,10,11,10,11,12,1,2,3,4,8,9,10,11,12],
    'incident_count' : [5,7,3, 34,23,29,5,2,5,4,12,21,15,34,41,35,14,  25,32,43,21,19]})

我执行了以下操作:

df = df.groupby(['region', 'month']).incident_count.sum().reset_index()

计算每个区域的斜率:

from scipy.stats import linregress

df1 = df.groupby('region').apply(lambda v: linregress(v.month, v.incident_count)[0]).reset_index()

现在,我想将这些代码放在一行代码中。我该怎么办?

1 个答案:

答案 0 :(得分:1)

我不太确定您为什么要写单行纸,因为它看起来很大。

显而易见的答案就是将您写的两行用管道表达

df.groupby(['region', 'month']).incident_count.sum().reset_index().groupby('region').apply(lambda v: linregress(v.month, v.incident_count)[0]).reset_index()

您可以向我们提供有关您到底想做什么的更多信息