python - 将 bool 值列添加到包含变量和时间列的数据帧

标签 python pandas dataframe

所以我有一个包含两列的数据框;变量名称和该变量出现的时间实例如下:

Variable  Time
v1        t1
v2        t2
v3        t3

我想添加另一个带有值的列,该列将有一个 bool 值(1或0),1表示该值已出现(该时间实例),在该时间实例之外为零,(t + 1 )。像这样的事情:

Variable  Time   Value
v1        t1     1
v1        t1+1   0
v2        t2     1
v2        t2+1   0
v3        t3     1
v3        t3+1   0

关于如何在 python 数据框中实现这一点有什么想法吗?
干杯。

最佳答案

如果变量列已排序,请使用 duplicated对于掩码,通过 ~ 反转并转换为 int - True1False 0:

print (df)
  Variable  Time
0       v1     3
1       v1     4
2       v2     7
3       v2     8
4       v3     3
5       v3     4
6       v3     5

df['Value'] = (~df['Variable'].duplicated()).astype(int)
print (df)
  Variable  Time  Value
0       v1     3      1
1       v1     4      0
2       v2     7      1
3       v2     8      0
4       v3     3      1
5       v3     4      0
6       v3     5      0

关于python - 将 bool 值列添加到包含变量和时间列的数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44881065/

相关文章:

python - 用Python淡化声音的开始

python - 类型错误 : object of type 'float' has no len() & TypeError: 'float' object is not iterable

python - 如何在同一个图上依次绘制多个时间序列

python - 引用其他数据框的数据框的嵌套扩展

python - 如何捕获 sqlalchemy 上的特定异常?

python - PyRo 和 RPyC python 库的优缺点是什么?

python - 仅在 Pandas 中将不规则日期格式转换为年份

有条件地替换值,同时忽略 NA

python - 动态改变 HTML 源代码

python - 没有日期的时间增量