Bry*_*ant 2 python pandas pandas-groupby
我有一个数据帧:
df = pd.DataFrame({'id': [1, 1, 2, 2], 'data': [1, 2, 3, 4], 'value': [10, 9, 8, 7]})
In [4]: df
Out[4]:
id data value
0 1 1 10
1 1 2 9
2 2 3 8
3 2 4 7
In [5]: df.groupby(['id']).last()
Out[5]:
data value
id
1 2 9
2 4 7
In [6]: df.groupby(['id']).first()
Out[6]:
data value
id
1 1 10
2 3 8
Run Code Online (Sandbox Code Playgroud)
是否有可能产生从一个数据帧groupby即是由first()应用value和last()应用data?如果它可以更容易,你可以假设last()适用于一切,但value,并且first()只适用于value.我可以在两个独立的小组中完成,但是可以在一个小组中吗?
你可以将func的dict传递给agg:
In[80]:
df.groupby('id').agg({'data':'last', 'value':['first','last']})
Out[80]:
data value
last first last
id
1 2 10 9
2 4 8 7
Run Code Online (Sandbox Code Playgroud)
如果要调用first,可以last在"值"列上传递func列表.这里pandas可以通过仅传递funcs的字符串名来推断出要调用的方法
| 归档时间: |
|
| 查看次数: |
18 次 |
| 最近记录: |