我有一个数据集:
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()
现在,我想将这些代码放在一行代码中。我该怎么办?
答案 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()
您可以向我们提供有关您到底想做什么的更多信息