Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用具有NaN的组,按颜色散点绘制不同的组_Python_Matplotlib - Fatal编程技术网

Python 使用具有NaN的组,按颜色散点绘制不同的组

Python 使用具有NaN的组,按颜色散点绘制不同的组,python,matplotlib,Python,Matplotlib,我有一个熊猫数据框: d1_a d2_a d3_a group BI59 NaN 0.023333 NaN 2 BI71 NaN 0.173333 NaN 2 BI52 NaN NaN NaN 1 BI44 0.450000

我有一个熊猫数据框:

               d1_a    d2_a               d3_a    group

BI59           NaN     0.023333           NaN     2
BI71           NaN     0.173333           NaN     2
BI52           NaN          NaN           NaN     1
BI44      0.450000          NaN           NaN     1
BI36           NaN     0.286667           NaN     2
BI29           NaN     0.030000           NaN     2
BI50           NaN     0.633333           NaN     2
BI63           NaN     0.110000           NaN     2
BI64           NaN     0.320000           NaN     2
BI65      0.206667          NaN           NaN     1
BI67           NaN     0.216667           NaN     2
BI68           NaN     0.473333           NaN     2
BI71           NaN     0.053333           NaN     2
BI72           NaN     0.006667           NaN     2
BI75           NaN     0.430000           NaN     2
BI76           NaN     0.260000           NaN     2
BI78           NaN     0.250000           NaN     2
BI81           NaN     0.006667           NaN     2
BI83           NaN     0.603333           NaN     2
BI84           NaN          NaN      0.196667     3
BI86           NaN          NaN      0.046667     3
BI89           NaN     0.110000           NaN     2
BI91           NaN          NaN      0.213333     3
BI93           NaN     0.443333           NaN     2
BI97      0.586667          NaN           NaN     1
BI98      0.380000          NaN           NaN     1
BI99      0.016667          NaN           NaN     1
BI11           NaN     0.206667           NaN     2
BI12           NaN     0.500000           NaN     2
BI17      0.626667          NaN           NaN     1
BI##
是索引列,行所属的组由组列表示。所以d1_a是第1组,d2_a是第2组,d3_a是第3组。此外,索引列上的数字将是x轴。如何创建散点图,每组用不同的颜色表示?当我尝试绘图时,我得到的是空绘图

如果我尝试类似于
subset\u d1\u a=df['d1\u a'].dropna()
的方法,并对每个组执行类似的操作,那么我可以删除NAN,但现在数组的长度不同,我无法将它们全部绘制在同一个图形上

我最好在seaborn中这样做,但python中的任何方法都可以

到目前为止,这就是我正在做的,现在确定我是否走上了正确的道路:

subset = pd.concat([df.d1_a, df.d2_a, df.d3_a], axis=1)
subset = subset.sum(axis=1)
subset = pd.concat([subset,df.group], axis=1)
subset = subset.dropna()
g = subset.groupby('groups')

鉴于您的数据,不清楚散点图会是什么样子,但您可以这样做:

colors = {1: 'red', 2: 'green', 3: 'blue'}
df.iloc[:, :3].sum(axis=1).plot(kind='bar', colors=df.group.map(colors).tolist()

在所需散点图中,x轴上的值是多少?我假设y轴上的值为
d1_a
d2_a
d3_a
。是不是
BI##
字符串中的
#
呢?这就是你想要的吗?如果没有,请解释遗漏或错误。需要添加与组相对应的图例吗<代码>df.iloc[:,:3].sum(axis=1).绘图(kind='bar',colors=df.group.map(colors.tolist(),legend=df.group.map(colors.tolist())?