我确信对此有一个简单的答案,我只是在看错误,但是我的 pyplot 直方图发生了什么?这是输出;数据包含年龄在 18 到 24 岁之间的参与者,没有小数年龄(没有人是 18.5):
为什么垃圾桶是这样交错排列的?当前宽度设置为 1,所以每个条应该是一个 bin 的宽度,对吗?当宽度小于 0.5 时,问题会变得更糟,当条形看起来像是在完全不同的 bin 中时。
这是代码:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
csv = pd.read_csv('F:\Python\Delete\Delete.csv')
age = csv.age
gender = csv.gender
new_age = age[~np.isnan(age)]
new_age_f = new_age[gender==2]
new_age_m = new_age[gender==1]
plt.hist(new_age_f, alpha=.80, label='Female', width=1, align='left')
plt.hist(new_age_m, alpha=.80, label='Male', width=1, align='left')
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)
谢谢!
当我试图遵循最佳实践时,我将Option Explicit我的代码置于顶部,并声明我的所有变量.但这导致了与另一种使用命名常量的最佳实践的冲突.我该怎么办?
第一个问题是xlFalse; 我对任何其他xl变量都没有任何问题,所以这看起来像一个独立的案例.但我并不是真的担心它,因为我可以放入False并且代码可以工作.(它有效,对吧?)
Sub GetEOP()
'Executes when the user clicks the "Import Data" button, imports the EOP data
GlobalDeclarations
'Open Open dialog, assigns selected file path to wordFileName
wordFileName = Application.GetOpenFilename("Rich Text Files (*.rtf), *.rtf," & "Word Files (*.doc;*.docx), *.doc;*.docx", , "EOP Table File?")
'Stop code if the user clicks Cancel (otherwise, wordFileName would be assigned a value of "False")
If wordFileName = False Then Exit Sub
'Open the selected file …Run Code Online (Sandbox Code Playgroud)