这是我的问题。
我有一个dataframedf它包含两个列,分别名为date和wd
而wd表示风向,范围为(0~360)。
所以,df代表某个时间段某处的风向。在
我想把这些风向分为16类:
http://7xrn7f.com1.z0.glb.clouddn.com/16-3-8/30080798.jpg
此处显示范围。在
http://7xrn7f.com1.z0.glb.clouddn.com/16-3-8/8398960.jpg
这就是我现在能处理的问题:
wd_stat = []
for i in range(0,len(df),1):
wd = df.wd.iloc[i]
### NNE 11.25-33.75
if 11.25 <= wd < 33.75:
wd_stat.append("NNE")
### NE 33.75-56.25
if (33.75 <=wd < 56.25):
wd_stat.append("NE")
### ENE 56.25 - 78.75
if (56.25 <=wd < 78.75):
wd_stat.append("ENE")
if (78.75 <=wd < 101.25):
wd_stat.append("E")
if (101.25 <=wd < 123.75):
wd_stat.append("ESE")
.....not done yet......
我的方法是死板和垃圾。
有谁能给我们一些建议来高效地处理这样的分类问题(把数字范围分成若干字符)。在
做这些事情的一个好方法是使用numpy.digitize()。它接受一个bin和value数组,并返回每个值所在的bin的索引。在匹配的字符串数组中使用这些索引可以获得所需的内容:
您可以使用^{} :
相关问题 更多 >
编程相关推荐