如何基于Pandas中另一列的多个值创建列?

2024-05-16 19:21:21 发布

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

我正在尝试基于另一列创建新列。特别是如果它包含某个值

我做了以下工作:

df['region'] = np.where(df['location'].str.contains("AK| AZ | CA | CO | HI |ID | MT | NM | NV | OR | UT | WA | WY", na=False), "west",
                     np.where(df['location'].str.contains("PA | NJ | NY | VT | NH | MA | RI | CT | ME", na=False), "northwest",
                     np.where(df['location'].str.contains("AR | AL | DC | DE | FL | GA | KY | LA | MD | MS | NC | OK | SC | VA | WV", na=False), "south",
                     np.where(df['location'].str.contains("IA | IL | IN | KS |MI | MN |MO | ND |NE | OH | SD | WI", na=False), "midwest", "international"))))

我明白了:

 location        region

Columbia, MO    international
Maplewood, NJ   international

期望值:

 location        region

Columbia, MO    midwest
Maplewood, NJ   northwest

我基本上有一个“location”列,我想检查它是否包含缩写词,然后为区域创建一个新列

谢谢你


Tags: falsedfnplocationwhereregionmona