0

我有一个相当基本的脚本,它从网页中提取一些数据(我无法控制)并将数据传递给数据框。我目前的输出如下所示:

             language    open-days    open-time   close-time     dept
0             English        24/7                               Sales
1             Spanish       Mo-Fr        07:00        17:00     Sales
2             Spanish       Sa-Su        08:00        15:00     Sales

我想做的是:

1)一周中每天有两个新列 2)检查开放日列并查看该行何时开放(如果是 24/7 则通过 0) 3)将开放和关闭时间传递给新列

我在这里设想的输出是这样的:

             language    open-days    open-time   close-time     dept     mon-open     mon-closed
0             English        24/7                               Sales            0      0
1             Spanish       Mo-Fr        07:00        17:00     Sales        07:00      17:00
2             Spanish       Sa-Su        08:00        15:00     Sales        08:00      15:00

到目前为止,我所做的只是以某种方式破坏了我当前的数据框,或者在右侧添加了一堆空列。

4

1 回答 1

0

假设您的原始数据框称为df. 然后你需要添加两列如下

df['mon-open'] = ((df['open-days']!='24/7').astype(int) * df['open-time']).replace('':'0')
df['mon-closed'] = ((df['open-days']!='24/7').astype(int) * df['close-time']).replace('':'0')

编辑 如果您需要为每个条目提供一对新的列,open-days那么您需要修改条件df['open-days']!='24/7'以获取所需的条目(例如Mon-Fri

于 2018-05-15T10:49:31.590 回答