如何用Python/Pandas绘制风玫瑰图时过滤风速大于10的数据?
解决方法
直接在读取数据后添加过滤步骤,保留风速≤10的记录即可,修改后的完整代码如下:
import pandas as pd from windrose import WindroseAxes # 读取Excel数据 df = pd.read_excel(r'sheet') # 过滤风速大于10的数据,只保留风速≤10的记录 df_filtered = df[df['Vel'] <= 10] # 使用过滤后的数据集绘制风玫瑰图 ax = WindroseAxes.from_ax() ax.bar(df_filtered.Dir, df_filtered.Vel, normed=True, opening=0.8, edgecolor='white') ax.set_legend(loc="upper right")
关键说明:
- 用
df[df['Vel'] <= 10]生成布尔索引,筛选出风速不超过10的所有行,得到过滤后的数据集df_filtered - 后续绘图时,传入过滤后的
Dir和Vel列数据,就能确保风玫瑰图只展示0-10的风速范围
内容的提问来源于stack exchange,提问作者Bartosz_ITB
相关产品推荐
相关产品推荐

