我有一个很大的 Dataframe ,我使用pd.cut
创建了一个温度范围列。这很好。现在我想知道最小-最大范围列中的最小范围。因此,我可以使用此列对 Dataframe 进行排序
我的代码:
# Goal: sort below dataframe by the 'temp_range' columns
# The column should be sorted as '-60-50','-10-0','0-10','20-30'
xdf = pd.DataFrame(data={'temp_range':['-10-0','20-30','-60-50','0-10']})
xdf['Min. temp range']= xdf['temp_range'].apply(lambda x:x[:3])
xdf
当前解决方案:
temp_range Min. temp range
0 -10-0 -10
1 20-30 20-
2 -60-50 -60
3 0-10 0-1
预期解决方案:
temp_range Min. temp range
0 -10-0 -10
1 20-30 20
2 -60-50 -60
3 0-10 0
按“最小温度范围”列对此预期解决方案排序
xdf.sort_values('Min. temp range')
temp_range Min. temp range
0 -60-50 -60
1 -10-0 -10
2 0-10 0
3 20-30 20
1条答案
按热度按时间xam8gpfp1#
使用
str.extract
:输出:
regex demo
如果你不需要列,只想排序:
输出: