簡體   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