如何动态地在Pandas中存储数据

时间:2018-01-08 05:47:13

标签: python python-3.x pandas binning

有没有办法可以根据输入动态分组数据。

这里我尝试在Lng中增加.01的bin数据。数据范围是113.88到114.3。 目前我手动拆分垃圾箱。有没有更有效的方式。

当前代码

bin_Lng = [113.88,113.89,113.9,113.91,113.92,113.93,113.94,113.95,113.96,113.97,113.98,113.99,114,114.01,114.02,
114.03,114.04,114.05,114.06,114.07,114.08,114.09,114.1,114.11,114.12,114.13,114.14,114.15,114.16,114.17,114.18,114.19,114.2,114.21,114.22,114.23,114.24,
114.25,114.26,114.27,114.28,114.29,114.3]
group_name_lng =['Lng Zone1',
'Lng Zone2','Lng Zone3','Lng Zone4','Lng Zone5','Lng Zone6','Lng Zone7','Lng Zone8','Lng Zone9','Lng Zone10','Lng Zone11',
'Lng Zone12','Lng Zone13','Lng Zone14','Lng Zone15','Lng Zone16','Lng Zone17','Lng Zone18','Lng Zone19','Lng Zone20','Lng Zone21',
'Lng Zone22','Lng Zone23','Lng Zone24','Lng Zone25','Lng Zone26','Lng Zone27','Lng Zone28','Lng Zone29','Lng Zone30',
'Lng Zone31','Lng Zone32','Lng Zone33','Lng Zone34','Lng Zone35','Lng Zone36','Lng Zone37','Lng Zone38','Lng Zone39','Lng Zone40','Lng Zone41',
'Lng Zone42']
data['Lng_Zone'] = pd.cut(data['Lng'], bin_Lng, labels=group_name_lng)

1 个答案:

答案 0 :(得分:3)

因为你知道范围只是使用np.arange

bin_Lng = pd.np.arange(113.88, 114.3,0.01)
group_name_lng = ['Lng Zone{}'.format(i) for i in range(1,len(bin_Lng))]