Python 制作直方图时如何在matpotlib中定义变量

Python 制作直方图时如何在matpotlib中定义变量,python,pandas,numpy,matplotlib,histogram,Python,Pandas,Numpy,Matplotlib,Histogram,我试图从CSV文件中使用年龄和性别制作直方图。问题是性别有3个值(男性、女性和未知)。我只想使用男性和女性的年龄记录数字。我的代码是: #plt.figure(figsize=[10,8]) gender = data_dict['Gender'] age = data_dict['Age'] legend = ['Male', 'Female'] plt.hist([age, gender], color = ['red','blue'], bins = 10, edgecolor = 'b

我试图从CSV文件中使用年龄和性别制作直方图。问题是性别有3个值(男性、女性和未知)。我只想使用男性和女性的年龄记录数字。我的代码是:

#plt.figure(figsize=[10,8])
gender = data_dict['Gender']
age = data_dict['Age']
legend = ['Male', 'Female']

plt.hist([age, gender], color = ['red','blue'], bins = 10, edgecolor = 'black')
plt.xticks(range(15, 80))
plt.yticks(range(57, 66309))
plt.legend(legend)

plt.title('Age of Accident Victims')
plt.xlabel('Ages')
plt.ylabel('Record Number')
plt.show()


提前谢谢。干杯

不可能直接从matplotlib函数中执行此操作,但您可以在执行直方图之前轻松删除不感兴趣的数据点。例如:

gender_clean = []
age_clean = []
for gender_point, age_point in zip(gender, age):
    if gender_point != 'Unknown':
        gender_clean.append(gender_point)
        age_clean.append(age_point)
或者使用numpy:

import numpy as np
age = np.array(age)[np.array(gender) != 'Unknown']
gender = np.array(gender)[np.array(gender) != 'Unknown']

若要可视化您的问题,最好只添加绘图,而不在图像中添加代码部分