如何解决如何从数据框中提取列并从中创建箱线图?
我有一个数据帧,该数据帧是从Stata数据库中导入的,并且已重命名了它的列,并且尝试从其中一个列(例如“ Peso”)制作箱形图,但是当我绘制它时,图形显示所有数据框。如何提取列并绘制图?
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.read_stata('Datos Peso Altura Genero.dta')
datos=df.rename(columns={'var1':'Sujeto','var2':'Peso','var3':'Altura','var4':'Género'})
Sujeto Peso Altura Género
0 1 50 154 M
1 2 56 152 H
2 3 58 161 M
3 4 59 160 M
4 5 60 167 H
5 6 61 165 M
6 7 63 169 M
7 8 65 158 M
8 9 67 155 M
9 10 72 169 H
10 11 75 170 H
11 12 77 178 H
12 13 78 180 H
13 14 80 175 M
14 15 84 179 H
datos.boxplot(column=['Peso'])
plt.title('Ejemplo peso')
plt.ylabel('Peso (kg)')
plt.show()
我希望我已经说清楚了,谢谢您的回答。
解决方法
如果指定by=['Género']
,将得到带有H和M的箱形图。我已注释掉标题说明,因为它将自动显示标题。有关详细信息,请参见this page。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import io
data = '''
Sujeto Peso Altura Género
0 1 50 154 M
1 2 56 152 H
2 3 58 161 M
3 4 59 160 M
4 5 60 167 H
5 6 61 165 M
6 7 63 169 M
7 8 65 158 M
8 9 67 155 M
9 10 72 169 H
10 11 75 170 H
11 12 77 178 H
12 13 78 180 H
13 14 80 175 M
14 15 84 179 H
'''
df = pd.read_csv(io.StringIO(data),sep='\s+')
# df=pd.read_stata('Datos Peso Altura Genero.dta')
datos = df.rename(columns={'var1':'Sujeto','var2':'Peso','var3':'Altura','var4':'Género'})
datos.boxplot(column=['Peso'],by=['Género'])
# plt.title('Ejemplo peso')
plt.ylabel('Peso (kg)')
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。