微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何减少使用 seaborn 绘制此猫图所需的时间

如何解决如何减少使用 seaborn 绘制此猫图所需的时间

我试图从 17001 行 × 6 列的 DataFrame 绘制预期寿命 life_expect['CountryName'] 超过 80 岁的国家 life_expect['Value'] 。 处理和绘图所需的时间超过 30 分钟。我做错了什么,如何使代码更快?

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats

indicators = pd.read_csv('Indicators.csv')

year = indicators['Year']
hist_indicator = indicators['IndicatorName'].str.contains('Life expectancy at birth')
le = indicators[year & hist_indicator]
x = le[~le['CountryName'].str.contains('OECD')]
x = x[~x['CountryName'].str.contains('income')]
x = x[~x['CountryName'].str.contains('Euro')]
life_expect = x

highest_life_expect = life_expect[life_expect['Value'] > 80]
sns.set_style("darkgrid")
sns.catplot(x = 'CountryName',y = 'Value',hue = 'Year',row='IndicatorName',data = highest_life_expect,palette = 'YlOrBr',kind = 'strip',dodge = True,height = 1.5,aspect=3)
plt.xticks(rotation= 70)

plt.show() 

数据帧示例:

life_expect = pd.DataFrame({'CountryName': {23215: 'arab World',23216: 'arab World',23217: 'arab World',23311: 'Caribbean small states',23312: 'Caribbean small states',23313: 'Caribbean small states',23657: 'East Asia & Pacific (developing only)',23658: 'East Asia & Pacific (developing only)',23659: 'East Asia & Pacific (developing only)',24249: 'Fragile and conflict affected situations'},'CountryCode': {23215: 'ARB',23216: 'ARB',23217: 'ARB',23311: 'CSS',23312: 'CSS',23313: 
'CSS',23657: 'EAP',23658: 'EAP',23659: 'EAP',24249: 'FCS'},'IndicatorName': {23215: 'Life expectancy at birth,female (years)',23216: 'Life expectancy at birth,male (years)',23217: 'Life expectancy at birth,total (years)',23311: 'Life expectancy at birth,23312: 'Life expectancy at birth,23313: 'Life expectancy at birth,23657: 'Life expectancy at birth,23658: 'Life expectancy at birth,23659: 'Life expectancy at birth,24249: 'Life expectancy at birth,female (years)'},'IndicatorCode': {23215: 'SP.DYN.LE00.FE.IN',23216: 'SP.DYN.LE00.MA.IN',23217: 'SP.DYN.LE00.IN',23311: 'SP.DYN.LE00.FE.IN',23312: 'SP.DYN.LE00.MA.IN',23313: 'SP.DYN.LE00.IN',23657: 'SP.DYN.LE00.FE.IN',23658: 'SP.DYN.LE00.MA.IN',23659: 'SP.DYN.LE00.IN',24249: 'SP.DYN.LE00.FE.IN'},'Year': {23215: 1961,23216: 1961,23217: 1961,23311: 1961,23312: 1961,23313: 1961,23657: 1961,23658: 1961,23659: 1961,24249: 1961},'Value': {23215: 48.461242672561596,23216: 46.445430867169,23217: 47.4276465406613,23311: 64.82771091890339,23312: 60.810503390166595,23313: 62.7689979262271,23657: 47.95864452502961,23658: 44.11634167689369,23659: 45.98732426589021,24249: 43.4402244401312}})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?