ID Date dummy
0 2019-01-03 20:00:00
1 2019-01-04 14:30:00 x
2 2019-01-04 16:00:00 x
3 2019-01-04 20:00:00 x

我想知道如何根据日期 Select 将"X"插入到虚拟列中.例如,我想输入一个"X",从2019-01-04 14:30:00到2019-01-04 20:00:00

我知道我可以 Select df\["dummy"\]\[1:3\] = "X"来完成此操作,但不太确定如何从DATES列中抓取.

推荐答案

使用between为边界之间的日期创建布尔系列,使用np.where'x'''之间 Select :

df['dummy'] = np.where(df['Date'].between('2019-01-04 14:30:00',
                                          '2019-01-04 20:00:00'),
                       'x', '')

或者,使用boolean indexing:

df.loc[df['Date'].between('2019-01-04 14:30:00', '2019-01-04 20:00:00'),
       'dummy'] = 'x'

输出:

   ID                Date dummy
0   0 2019-01-03 20:00:00      
1   1 2019-01-04 14:30:00     x
2   2 2019-01-04 16:00:00     x
3   3 2019-01-04 20:00:00     x

Python相关问答推荐

用ctype构建指针链

Python-Polars:如何用两个值的平均值填充NA?

修剪Python框架中的尾随NaN值

当变量也可以是无或真时,判断是否为假

如何计算部分聚合数据的统计数据

按 struct 值对Polars列表[struct[]]排序

Python无法在已导入的目录中看到新模块

如何使用上下文管理器创建类的实例?

Pandas 除以一列中出现的每个值

配置Sweetviz以分析对象类型列,而无需转换

我从带有langchain的mongoDB中的vector serch获得一个空数组

Pandas 滚动最接近的价值

try 在树叶 map 上应用覆盖磁贴

沿着数组中的轴计算真实条目

管道冻结和管道卸载

如何过滤包含2个指定子字符串的收件箱列名?

Python,Fitting into a System of Equations

如何使用它?

梯度下降:简化要素集的运行时间比原始要素集长

pandas:排序多级列