[通过1在数据帧中添加新列)检查一列中的值2)然后检查另一列中的时间-Python

问题描述 投票:-1回答:1

假设我在python df中有一个DataFrame,字段1SHOP AAA,BBB,AAA,CCC,DDD,CCC,DDD,EEE ..字段2时间 08:52:00,08:53:01,08:54:00,09:00:00,09:01:00 ... (HH:MM:SS)

SHOP 626445非空对象TIME 626445非空datetime64 [ns]

我想写条件-需要python代码

a)创建新列-“类别”b)检查以下条件c)在新列中写为“中断”或“工作”

案例11)检查商店现场,2)检查时间字段3)应用中断或在新列中工作

for Shop= AAA, between 08:53:00 to 09:00:00 - break
for Shop= AAA, between 11:45:00 to 12:30:00 - break
for Shop= BBB, between 08:55:00 to 09:02:00- break
..
..
else- 'work'
python pandas dataframe
1个回答
0
投票

您可以使用熊猫内置的'apply'方法。首先编写一个进行分类的方法,假设输入是可以通过列名索引的数据帧行。范例

def categorize(row):
  if row["SHOP"] == "AAA" and row["TIME"] == "11:45:00":
    return "break"
  else:
    return "work"

然后使用应用于创建新列。

df["Category"] = df.apply(categorize, axis=1)
© www.soinside.com 2019 - 2024. All rights reserved.