我正在使用名为“ NACIMIENTO”的列,该列的出生日期为“ 1987年8月”。我需要月份为数字:“ enero(january)= 1”,然后将其放在“ MESNACIMIENTO”列中。
我将代码基于函数df.loc(condition)并添加df [“ name column”]以仅在满足条件的情况下将该值分配给该位置的列。
df["NACIMIENTO"]=df["NACIMIENTO"].apply(lambda x: x.lower())
df["MESNACIMIENTO"]=0
df["MESNACIMIENTO"].loc[df["NACIMIENTO"].str.contains("")==True]=1
df["MESNACIMIENTO"].loc[df["NACIMIENTO"].str.contains("febrero")==True]=2
df["MESNACIMIENTO"].loc[df["NACIMIENTO"].str.contains("marzo")==True]=3
... and so on for the rest of the months.
我希望输出是带有月份数字的列,但是我得到:SettingWithCopyWarning: 试图在DataFrame的切片副本上设置一个值