如何根据python中的指定条件将一行的值复制到另一行?

2024-04-28 22:22:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据框架如下:

df_a = pd.DataFrame({'Month':['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec',
                            'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],
                    'Year':[2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,
                            2019,2019,2019,2019,2019,2019,2019,2019,2019,2019,2019,2019],
                    'Nutri':["Yes","Yes","Yes","Yes","Yes","Yes","No","No","No","No","No","No",
                                "No","No","No","No","No","No","No","No","No","No","No","No"]})

条件是,如果Nutri列在一年中的任何月份显示为“是”,则我希望在该列中填写该年的所有“是”,如下所示:

df_a = pd.DataFrame({'Month':['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec',
                            'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],
                    'Year':[2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,
                            2019,2019,2019,2019,2019,2019,2019,2019,2019,2019,2019,2019],
                    'Nutri':["Yes","Yes","Yes","Yes","Yes","Yes","Yes","Yes","Yes","Yes","Yes","Yes",
                                "No","No","No","No","No","No","No","No","No","No","No","No"]})

我试图用下面的逻辑提出if条件,但它不起作用:

if df_a[(df_a['Year'] == 2018 ) & (df_a['Nutri'] == 'Yes')]:
    df_a['Nutri'] == 'Yes'
print(df_a)    

我迷路了,下一步该怎么办。请帮忙


Tags: nodfoctnovaprjunmarsep