python pandas 绘图_python – pandas – 多索引绘图

我有一些数据,我使用以下代码操作数据帧:

import pandas as pd

import numpy as np

data = pd.DataFrame([[0,0,0,3,6,5,6,1],[1,1,1,3,4,5,2,0],[2,1,0,3,6,5,6,1],[3,0,0,2,9,4,2,1],[4,0,1,3,4,8,1,1],[5,1,1,3,3,5,9,1],[6,1,0,3,3,5,6,1],[7,0,1,3,4,8,9,1]], columns=["id", "sex", "split", "group0Low", "group0High", "group1Low", "group1High", "trim"])

data

#remove all where trim == 0

trimmed = data[(data.trim == 1)]

trimmed

#create df with columns to be split

columns = ['group0Low', 'group0High', 'group1Low', 'group1High']

to_split = trimmed[columns]

to_split

level_group = np.where(to_split.columns.str.contains('0'), 0, 1)

# output: array([0, 0, 1, 1])

level_low_high = np.where(to_split.columns.str.contains('Low'), 'low', 'high')

# output: array(['low', 'high', 'low', 'high'], dtype='

multi_level_columns = pd.MultiIndex.from_arrays([level_group, level_low_high], names=['group', 'val'])

to_split.columns = multi_level_columns

to_split.stack(level='group')

sex = trimmed['sex']

split = trimmed['split']

horizontalStack = pd.concat([sex, split, to_split], axis=1)

horizontalStack

finalData = horizontalStack.groupby(['split', 'sex', 'group'])

finalData.mean()

我的问题是,如何使用ggplot或seaborn绘制平均数据,以便对于每个“分裂”级别,我得到一个如下所示的图形:

在代码的底部你可以看到我试图分割组因子,所以我可以分隔条,但这导致错误(KeyError:’group’)我认为这与我使用的方式有关多索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值