python数据框循环生成_使用列作为yaxis值从dataframe生成多个绘图(在dataframe中循环)...

本文介绍了如何使用Python的Seaborn库结合DataFrame的列循环生成多个箱型图。通过遍历DataFrame的数值列,将每列作为y轴值,利用boxplot函数创建箱型图。示例代码展示了如何根据'treatment'列和'impulsivity'类别,用不同颜色区分,并展示了随机数据的绘图过程。
摘要由CSDN通过智能技术生成

只需使用DataFrame.columns这是一个iterable对象遍历数值数据列,然后将迭代器变量(这里是col)传递到boxplot的y参数中。在for col in data.columns[4:len(data.columns)]:

sns.boxplot(x='treatment', y=col, hue='impulsivity',

palette=['b','r'], data=data)

sns.despine(offset=10, trim=True)

plt.show()

或者对所有数值列使用^{}:

^{pr2}$

或者甚至是^{}来省略非数字列:for col in data.filter(regex="[^(subject|protrusion|impulsivity|treatment)]").columns:

...

用随机数据证明:import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

np.random.seed(9192018)

demo_df = pd.DataFrame({'tool': np.random.choice(['pandas', 'r', 'julia', 'sas', 'stata', 'spss'],500),

'os': np.random.choice(['windows', 'mac', 'linux'],500),

'prot_width': np.random.randn(500)*100,

'prot_length': np.random.uniform(0,1,500),

'prot_lwr': np.random.randint(100, size=500)

}, columns=['tool', 'os', 'prot_width', 'prot_length', 'prot_lwr'])

for col in demo_df.columns[2:len(demo_df.columns)]:

sns.boxplot(x='tool', y=col, hue='os', palette=['b','r'], data=demo_df)

sns.despine(offset=10, trim=True)

plt.legend(loc='center', ncol = 3, bbox_to_anchor=(0.5, 1.10))

plt.show()

plt.clf()

plt.close()

mr2BC.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值