簡體   English   中英

替換python數據框值並存儲在另一列中

[英]Replace python dataframe values and store in another column

我想替換['Time Period']值,如果它包含Q1,Q2,Q3,Q4並根據條件在另一列['Date']中進行更新。 但是,執行以下腳本后,最后一個腳本結果將在['Date']列中更新。

dt:

Time Period Frequency   Date
2005Q1      2   
2005Q2      2   
2002Q3      2   
2005Q4      2   
2005Q1      2   
2003Q2      2   
2004Q3      2   
2001Q4      2   

請幫忙。

dt['Date'] =  dt[dt['Frequency'] == '2']['Time Period'].apply(lambda x: x.replace('Q1','-01-01'))
dt['Date'] =  dt[dt['Frequency'] == '2']['Time Period'].apply(lambda x: x.replace('Q2','-04-01'))
dt['Date'] =  dt[dt['Frequency'] == '2']['Time Period'].apply(lambda x: x.replace('Q3','-07-01'))
dt['Date'] =  dt[dt['Frequency'] == '2']['Time Period'].apply(lambda x: x.replace('Q4','-10-01'))

以下將起作用:

dt['Date'] = dt[dt['Frequency'] == '2']['Time Period'].apply(
    lambda x: x.replace('Q1','-01-01').replace('Q2','-04-01').replace('Q3','-07-01').replace('Q4','-10-01')
)
df['Date'] = df.loc[df['Frequency']==2, 'Time Period'].replace({
        'Q1': '-01-01',
        'Q2': '-04-01',
        'Q3': '-07-01',
        'Q4': '-10-01'
    })

此代碼根據您的要求工作。

暫無
暫無

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

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