根据熊猫数据框中的条件使用不同的标记在底图上绘制点

伯大尼

我正在使用matplotlib底图从熊猫数据框中的数据绘制轨迹。

只需按如下所示绘制经纬度数据即可:

map = Basemap(projection='stere',lon_0=lon,lat_0=lat, llcrnrlon=-65, llcrnrlat=55, urcrnrlon=50 , urcrnrlat=75)

map.drawcountries()
map.bluemarble()

#Place marker at Kangerlussuaq
x,y = map(lon, lat)
map.plot(x, y, 'bo', markersize=10) 
plt.text(x, y, ' Kangerlussuaq', fontsize=12)

#Plot trajectory
map.plot(datacopy.long.tolist(), 
            datacopy.lat.tolist(), 
            'r-', 
            latlon=True)

但是,我希望根据每个纬度/经度测量的环境温度,用不同的标记来绘制轨迹的各个部分,但是以下代码给了我错误:

ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

if datacopy['Ambient temp']<280:
map.plot(datacopy.long.tolist(), 
        datacopy.lat.tolist(), 
        'r-', 
        latlon=True)
else: 
    map.plot(datacopy.long.tolist(), 
            datacopy.lat.tolist(), 
            'b-', 
            latlon=True)

是否由于数据在熊猫数据框中而导致此错误,并且有解决方法?

谢谢

宁静

首先,您的条件序列可能为空。你必须检查一下。

要绘制条件序列,请看以下示例:

import pandas as pd
import numpy as np
import matplotlib.pylab as plt

# Create a dataframe
df = pd.DataFrame( {'lat':[1,2,3,4,5], 'long':[1,2,3,4,5],  'T': [42, 52, 36, 24, 70]})
print (df)

plt.figure(figsize = (5, 5))

# selection condition
df1 = df[(df['T'] < 50)]
# ~ means not
df2 = df[~(df['T'] < 50)]
print(df2)
print(df1)
# plot
plt.plot(df1.long, df1.lat, 'b+')
ax = plt.gca()
ax.plot(df2.long, df2.lat, 'r*')

plt.show()

在此处输入图片说明

测试输出:

    T  lat  long
0  42    1     1
1  52    2     2
2  36    3     3
3  24    4     4
4  70    5     5
    T  lat  long
1  52    2     2
4  70    5     5
    T  lat  long
0  42    1     1
2  36    3     3
3  24    4     4

同样,您不需要将系列转换为列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有条件地分割熊猫数据框以使用不同的颜色进行绘制

熊猫数据框根据条件用不同的列值替换列的最大值

为使用 matplotlib 绘制熊猫数据框设置不同的标记大小

底图-根据坐标在地图上绘制点;点大小=出现次数

根据条件用不同的替换字典替换pandas数据框列中的值

如何使用数据框中的不同列在一个图上绘制多个图?

根据列中的数据标记熊猫数据框

在Plotly中拆分数据框并使用不同的线条样式进行绘制

根据条件在熊猫数据框中添加新列,并替换不同列中的Nan值

用不同大小的数据框划分熊猫中的列

使用不同的键在熊猫中垂直堆叠多个数据框

如何使用点绘制熊猫数据框的两列?

如何使用点绘制熊猫数据框的两列?

如何根据不同的条件为熊猫数据框中的特定列赋值?

使用重新采样为熊猫数据框中的不同列使用不同规则聚合数据

根据列表中的输入标记熊猫数据框

根据条件使用不同的MySQL数据库

如何从熊猫数据框中绘制不同的组

使用标记在SSRS中绘制条形图

使用不同数据框中的另一个变量的条件创建新变量

在底图上绘制文本字符串以代替Python中的点

根据条件在熊猫数据框中的多行中设置值

根据熊猫数据框中的条件从列表中删除元素

根据熊猫数据框中的条件从列表中删除元素

在 Python 中根据条件使用不同的运算符

根据“group_by”样式的条件从数据框中绘制直方图

根据条件在熊猫数据框中创建一列

根据熊猫数据框中的条件创建行

根据条件在熊猫数据框中添加新行