我正在与 pandas 合作,想要创建一个为期一个月的自定义日期范围,其中一周从周日晚上 6 点开始,到周五下午 4 点结束。每天有 22 小时,例如周日下午 6 点到周一下午 4 点,周一下午 6 点到周二下午 4 点,等等。
我试过了day_range = pd.date_range(datetime(2016,9,12,18),datetime.now(),freq='H'),但总是在 24 小时内给我。
有什么建议么?
我试图在 Python 中指定一个从当天前一天开始的日期范围。但是,我希望该日期范围从 10:00:00 开始。
这是我当前正在使用的代码
import pandas as pd
import datetime as dt
date = dt.datetime.today() - dt.timedelta(days=1)
date_range = pd.date_range(date, freq='60min', periods=24)
Run Code Online (Sandbox Code Playgroud)
但是,该时间从 00:00:00 开始。我尝试了几种修改上述代码以使其在 10:00:00 开始的方法,但没有任何效果。有人可以帮忙吗?
澄清一下:我使用 Pandas 是因为这个日期范围将用作数据帧的索引。
我正在尝试创建一个选择多个日期的 DatePicker。我可以选择多个日期,但我想在选择它们时保持 DatePicker 打开。问题是,每次我选择日期时,DatePicker 都会关闭。
我不想使用私有 API。我正在考虑添加这个:
datePicker.setOnHiding(event -> {
event.consume();
});
Run Code Online (Sandbox Code Playgroud)
但这不起作用。
这是我的代码:
public static DatePicker getDatePicker() {
ObservableList<LocalDate> selectedDates = FXCollections.observableArrayList();
String pattern = "yyyy-MM-dd";
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(pattern);
DatePicker datePicker = new DatePicker();
datePicker.setPromptText(pattern);
datePicker.setConverter(new StringConverter<LocalDate>() {
@Override
public String toString(LocalDate date) {
return (date == null) ? "" : dateFormatter.format(date);
}
@Override
public LocalDate fromString(String string) {
return ((string == null) || string.isEmpty()) ? null : LocalDate.parse(string, dateFormatter);
}
});
datePicker.setOnAction(event -> {
selectedDates.add(datePicker.getValue());
event.consume();
}); …Run Code Online (Sandbox Code Playgroud) 我试图找到如何将日期范围合并到一个数据库记录(数组元素)的最佳方法.
这是我的数据:
Array
(
[0] => Array
(
[id] => 18298
[start_date] => 2011-07-09
[end_date] => 2011-10-01
)
[1] => Array
(
[id] => 18297
[start_date] => 2011-06-01
[end_date] => 2011-06-30
)
[2] => Array
(
[id] => 17113
[start_date] => 2011-03-31
[end_date] => 2011-05-31
)
[3] => Array
(
[id] => 20555
[start_date] => 2011-01-03
[end_date] => 2011-03-31
)
)
Run Code Online (Sandbox Code Playgroud)
在我们组合它们之后,数组(或数据库)应如下所示:
Array
(
[0] => Array
(
[merged_ids] => 18298
[start_date] => 2011-07-09
[end_date] => 2011-10-01
)
[1] => …Run Code Online (Sandbox Code Playgroud) 我想验证日期时间,我的代码是:
[Range(typeof(DateTime),
DateTime.Now.AddYears(-65).ToShortDateString(),
DateTime.Now.AddYears(-18).ToShortDateString(),
ErrorMessage = "Value for {0} must be between {1} and {2}")]
public DateTime Birthday { get; set; }
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type
Run Code Online (Sandbox Code Playgroud)
请帮我?
我有两个字符串,例如05.04.2002和23.01-2002 - 23.06.2002.
如何判断第一个字符串中的日期是否在第二个字符串中的日期之间?
我一直在想什么
dateString := '05.04.2002';
dateRangeString := '23.01-2002 - 23.06.2002';
date := StrToDate( dateString );
rangeStart := StrToDate( LeftStr(dateRangeString, 10) );
rangeEnd := StrToDate( RightStr(dateRangeString, 10) );
Run Code Online (Sandbox Code Playgroud)
现在从那里我不知道该怎么办!
所以我有一张桌子,有start,end和taxi,和driver.城市现在希望按月查看哪些出租车在一个月内以及何时发生任何变化.
因此,此抓取分配行于2014年7月开始,于2014年7月结束,或正在进行(在7月之前开始,在月之后结束或尚未结束).
我的问题是,是否有更高效或更优雅的查询来获取这些行?
SELECT * FROM `taxi_assignments` WHERE
(`start` BETWEEN '2014-07-01 00:00:00' AND '2014-07-31 23:59:59')
OR (`end` BETWEEN '2014-07-01 00:00:00' AND '2014-07-31 23:59:59')
OR (`start` < '2014-07-01 00:00:00' AND
(`end` > '2014-07-31 23:59:59' OR `end` = '0000-00-00 00:00:00')
)
Run Code Online (Sandbox Code Playgroud) Postgres附带了一个名为Range Types的很好的功能,它提供了有用的范围功能(重叠,包含等).
我希望使用该daterange类型,但我认为类型是用一个尴尬的选择实现的:排除了日期范围的上限.这意味着如果我将我的值定义为2014/01/01 - 2014/01/31,则显示为,[2014/01/01, 2014/01/31)并且1月31日被排除在范围之外!
我认为这是错误的默认选择.我不能想到现实生活中的任何应用或参考,假设排除了日期范围的结束日期.至少不是我的经验.
我想为包含下限和上限的日期实现范围类型,但是我正在使用Postgres文档墙:关于如何创建新的离散范围类型的参考是神秘的,缺少任何示例(取自文档:创建一个规范函数有点棘手,因为必须在声明范围类型之前定义它.
有人可以提供一些帮助吗?甚至直接实施本身; 它应该是5-10行代码,但将这5-10行放在一起是一项严肃的研究工作.
编辑:澄清:我正在寻找有关如何创建正确类型的信息,以便插入[2014/01/01, 2014/01/31]结果upper(daterange) = '2014/01/31'.使用现有的日期范围类型,此值将"转换"为a [2014/01/01, 2014/02/01)并给出aupper(daterange) = '2014/02/01'
我有药房索赔数据,列出患者的开始和结束填写日期.为了在路上进行计算,我想记录一个真实的(1)或假(0)日记,记录每个患者是否有某一天记录的日期.
使用下面的样本数据,我试图分析在1/1/2013-1/10/2013定义的十天期间的观察结果.
我玩过 ?seqdate
Patient_ID Start_Date End_Date
a 1/1/2013 1/3/2013
b 1/3/2013 1/8/2013
c 1/1/2013 1/10/2013
d 1/7/2013 1/9/2013
a 1/8/2013 1/9/2013
Run Code Online (Sandbox Code Playgroud)
a b c d
1/1/2013 1 0 1 0
1/2/2013 1 0 1 0
1/3/2013 1 1 1 0
1/4/2013 0 1 1 0
1/5/2013 0 1 1 0
1/6/2013 0 1 1 0
1/7/2013 0 1 1 1
1/8/2013 1 1 1 1
1/9/2013 1 0 1 1
1/10/2013 0 0 1 0
Run Code Online (Sandbox Code Playgroud) 考虑下面的简单示例:
date = pd.date_range('1/1/2011', periods=5, freq='H')
df = pd.DataFrame({'cat' : ['A', 'A', 'A', 'B',
'B']}, index = date)
df
Out[278]:
cat
2011-01-01 00:00:00 A
2011-01-01 01:00:00 A
2011-01-01 02:00:00 A
2011-01-01 03:00:00 B
2011-01-01 04:00:00 B
Run Code Online (Sandbox Code Playgroud)
我想创建一个包含索引的滞后/超前值的变量.这就是:
df['index_shifted']=df.index.shift(1)
Run Code Online (Sandbox Code Playgroud)
所以,例如,2011-01-01 01:00:00我希望变量index_shifted是时候2011-01-01 00:00:00
我怎样才能做到这一点?谢谢!
date-range ×10
pandas ×3
python ×3
dataframe ×2
datetime ×2
algorithm ×1
code-first ×1
date ×1
datepicker ×1
delphi ×1
hour ×1
java ×1
javafx ×1
merge ×1
mysql ×1
php ×1
postgresql ×1
r ×1
shift ×1
sql ×1
validation ×1