问题描述
您可以使用assign
+ abs
,然后使用groupby
+ agg
:
df = (df.assign(Data_Value=df['Data_Value'].abs())
.groupby(['Day'])['Data_Value'].agg([('Min' , 'min'), ('Max', 'max')])
.add_prefix('Day'))
df
DayMin DayMax
Day
01-01 0 115
01-02 0 79
解决方法
我有以下数据集,
Day Element Data_Value
6786 01-01 TMAX 112
9333 01-01 TMAX 101
9330 01-01 TMIN 60
11049 01-01 TMIN 0
6834 01-01 TMIN 25
11862 01-01 TMAX 113
1781 01-01 TMAX 115
11042 01-01 TMAX 105
1110 01-01 TMAX 111
651 01-01 TMIN 44
11350 01-01 TMIN 83
1798 01-02 TMAX 70
4975 01-02 TMAX 79
12774 01-02 TMIN 0
3977 01-02 TMIN 60
2485 01-02 TMAX 73
4888 01-02 TMIN 31
11836 01-02 TMIN 26
11368 01-02 TMAX 71
2483 01-02 TMIN 26
我想按天分组,然后找到TMIN的整体最小值和TMAX的最大值,然后将其放入数据帧,所以我得到了如下输出:
Day DayMin DayMax
01-01 0 115
01-02 0 79
我知道我需要做
df.groupby(by='Day')
但我对下一步感到困惑-应该创建列来存储TMAX和TMIN值吗?