首页 > 解决方案 > 使用 map 函数将状态转换为新数据帧列中的区域。所有行显示为 NaN。我究竟做错了什么?

问题描述

在此处输入图像描述,读取 csv 文件,对其进行清理,并将所有空值填充为 0。

    import pandas as pd
    broccoli = pd.read_csv('broccoli.csv')
    region = {
    'Alabama': 'S',
    'Montana': 'W',
    'Alaska': 'W',
    'Nebraska': 'MW',
    'Arizona': 'W',
    'Nevada': 'W',
    'Arkansas': 'S',
    'New Hampshire': 'NE',
    'California': 'W',
    'New Jersey': 'NE',
    'Colorado': 'W',
    'New Mexico': 'W',
    'Connecticut': 'NE',
    'New York': 'NE',
    'Delaware': 'S',
    'North Carolina': 'S',
    'Florida': 'S',
    'North Dakota': 'MW',
    'Georgia': 'S',
    'Ohio': 'MW',
    'Hawaii': 'W',
    'Oklahoma': 'S',
    'Idaho': 'W',
    'Oregon': 'W',
    'Illinois': 'MW',
    'Pennsylvania': 'NE',
    'Indiana': 'MW',
    'Rhode Island': 'NE',
    'Iowa': 'MW',
    'South Carolina': 'S',
    'Kansas': 'MW',
    'South Dakota': 'MW',
    'Kentucky': 'S',
    'Tennessee': 'S',
    'Louisiana': 'S',
    'Texas': 'S',
    'Maine': 'NE',
    'Utah': 'W',
    'Maryland': 'S',
    'Vermont': 'NE',
    'Massachusetts': 'NE',
    'Virginia': 'S',
    'Michigan': 'MW',
    'Washington': 'W',
    'Minnesota': 'MW',
    'West Virginia': 'S',
    'Mississippi': 'S',
    'Wisconsin': 'MW',
    'Missouri': 'MW',
    'Wyoming': 'W',
   } 
   df_broccoli['Region'] = df_broccoli['State'].map(region) 
   df_broccoli 

对于列中的所有行,我仍然得到 NaN。数据框已清理,所有列都正确排列。我一直无法解决这个问题。如果可以的话请帮忙。

标签: python

解决方案


推荐阅读