我正在为我们的学校开发一个网站,我们需要根据条款更改时间表。
我需要将变量p_data = 'https://raw.githubusercontent.com/MachineIntellect/dataset.ml/master/horse_colic.csv'
df = pd.read_csv(p_data)
df = df.replace("?", np.NaN)
df = df.astype(np.float)
切换为
%matplotlib inline
n_col = 4
n_row = int(math.ceil(df.shape[1] * 1.0/n_col))
在9月1日,
fig, axes = plt.subplots(n_row, n_col, figsize=(15, 30))
plt.tight_layout()
for i, col in enumerate(df.columns):
pos_i = i / n_col
pos_j = i % n_col
df.groupby("cp_data")[col].plot.hist(title=col, alpha=0.5, ax=axes[pos_i, pos_j]);
在1月1日,和
IndexError Traceback (most recent call last)
<ipython-input-1-e6f18b850dfa> in <module>()
17 pos_i = i / n_col
18 pos_j = i % n_col
---> 19 df.groupby("cp_data")[col].plot.hist(title=col, alpha=0.5, ax=axes[pos_i, pos_j]);
20
21
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
在3月15日。
如何在Javascript上完成此操作? 任何帮助表示赞赏。非常感谢。
答案 0 :(得分:1)
为此,您必须创建内置Date对象的实例,并调用其getMonth()和getDate()方法。
var termUpdater = new Date();
updateDate = termUpdater.getDate();
updateMonth = termUpdater.getMonth();
getDate()
根据当前日期返回1-31。
getMonth()
根据当前月份返回0-11。
默认情况下,Date对象将引用当前日期和时间。但是,您也可以传递一个可选参数,以强制它引用其他日期,这对于您来说是不必要的,但是仍然是这样:
var dateObj = ("January 1, 1983 01:15:00");
现在,您可以说:
if (updateMonth == 0 || updateMonth == 1){ //0 means Jan
term = winter;
}
else if ((updateDate >= 15&& updateMonth==2) || (updateMonth <= 7 && updateMonth > 2 )){
term = spring;
}
else if ( updateMonth >= 8){
term = fall;
}
答案 1 :(得分:1)
首先更详细地描述规则。例如
if date is between Sept 1 and Jan 1
then term is "fall"
else if data is between Jan 1 and Mar 15
then term is "winter"
else if date is between Mar 15 and ?? (is it all the way until Sep 1?)
then term is "spring"
请注意,仍然需要填写一些缺少的信息。下一步是将其转换为JavaScript。首先要注意的是,我在上面的描述中多次使用了“ if”一词。那是因为我知道JavaScript具有方便的if
关键字,可以在这种情况下使用。如果您不熟悉if
语句,那么您肯定需要了解它们,因为它们是JavaScript最重要的部分之一。
下一步是弄清楚如何确定当前日期是否在两个日期之间。第一步是获取当前日期。我建议您使用Google查找有关如何执行此步骤的更多信息。从那里您还应该在Google上搜索如何比较JavaScript中的日期。
祝你好运!