我需要重写dataframe列中的某些值,但要以另一列中的值为条件。
我遇到的问题是,我可以标识某些行并将其替换为字符串,但不知道如何替换另一列中的数据
我尝试了以下代码,但遇到以下错误:
SettingWithCopyWarning: 试图在DataFrame的切片副本上设置一个值。 尝试改用.loc [row_indexer,col_indexer] =值
当我运行下面显示的示例代码时
df['Year'] = np.where(df['CallDtYear'] != 0, df['CallDtYear'], df['Year'])
我也尝试过.iloc,但是不知道如何用另一行的数据代替字符串值替换我选择的行
我的数据框df是:
ID CallDtYear Year
EJ891119 2024 0
EJ522806 0 2023
ED766836 2019 0
EK089367 2023 2024
EK414703 2026 2026
EI684097 0 2021
我希望我的预期输出能产生
ID CallDtYear Year
EJ891119 2024 2024
EJ522806 0 2023
ED766836 2019 2019
EK089367 2023 2023
EK414703 2026 2026
EI684097 0 2021