繁体   English   中英

根据Pandas Dataframe中一列中的字符串将值传递给新列

[英]Passing values to new columns based on string in one column in a Pandas Dataframe

我有一个相当基本的脚本,该脚本从网页(我无法控制)中提取一些数据并将数据传递到数据框。 我目前的输出看起来像这样:

             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

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

假设您的原始数据帧称为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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM