簡體   English   中英

根據現有列的值創建一個新列

[英]Creating a new column based on value of existing column

我想創建一個新列(即Winning_Time),如下表所示。 Match_state(Winning)處的所有Time_diff將存儲在新列Winning_Time中 其余行將用NaN或零填充。 我怎樣才能做到這一點?

gsm_id  Goal_Flag   Union_Level Team_SR Match_state   Time_diff           Wining_Time
2462796 First goal  Scored      Burnley  Winning    0 days 00:23:15.00   0 days 00:23:15.00
2462796 First goal  Conceded    Chelsea  Losing     0 days 00:23:15.00   NaN               
2462796 Other goals Scored      Burnley  Winning    0 days 00:15:20.00   0 days 00:15:20.00
2462796 Other goals Conceded    Chelsea  Losing     0 days 00:15:20.00   NaN
2462796 Other goals Scored      Burnley  Winning    0 days 00:03:34.00   0 days 00:03:34.00
2462796 Other goals Conceded    Chelsea  Losing     0 days 00:03:34.00   NaN
2462796 Other goals Scored      Chelsea  Losing     0 days 00:25:59.00   NaN
2462796 Other goals Conceded    Burnley  Winning    0 days 00:25:59.00   0 days 25:59.00
2462796 Last goal   Scored      Chelsea  Losing     0 days 00:19:11.00   NaN
2462796 Last goal   Conceded    Burnley  Winning    0 days 00:19:11.00   0 days 00:19:11.00
2462795 First goal  Scored      City     Winning    0 days 01:09:15.00   0 days 01:09:15.00 
2462795 First goal  Conceded    Brighton Losing     0 days 01:09:15.00   NaN
2462795 Last goal   Scored      City     Winning    0 days 00:05:21.00   0 days 00:05:21.00
2462795 Last goal   Conceded    Brighton Losing     0 days 00:05:21.00   NaN

非常感謝您的建議。

您可以使用numpy.where

df['Winning_Time'] = np.where(df['Match_state'] == 'Winning', df['Time_diff'], np.nan)

在這里, numpy.where作用類似於向量化if / else語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM