簡體   English   中英

基於操作現有列和引用對象創建新的數據框列

[英]Creating a new dataframe column based on manipulating existing column and refernce object

我有一個包含航班信息的數據集。 數據集中的一列是AirportFrom 這是附加到機場的 3 個字母代碼的列表。

我有一個參考表,它采用 3 個字母代碼並給出了機場所在的狀態。

我想創建一個新列,該列從AiportFrom獲取所有數據,並基本上將相關狀態分配給新列中的特定機場。

我嘗試了一些似乎都不能正常工作的東西。 我上次嘗試這樣做時遇到錯誤。

airportState = {
  'ATL': 'Georgia',
  'AUS': 'Texas',
  'BNA': 'Tennessee',
  'BOS': 'Massachusetts',
  'BWI': 'Washington',
  'CLT': 'North Carolina',
  'DAL': 'Texas',
  'DCA': 'Virginia',
  'DEN': 'Colorado',
  'DFW': 'Texas',
  'DTW': 'Michigan',
  'EWR': 'New Jersey',
  'FLL': 'Florida',
  'HNL': 'Hawaii',
  'HOU': 'Texas',
  'IAD': 'Virginia',
  'IAH': 'Texas',
  'JFK': 'New York',
  'LAS': 'Nevada',
  'LAX': 'California',
  'LGA': 'New York',
  'MCO': 'Florida',
  'MDW': 'Illinois',
  'MIA': 'Florida',
  'MSP': 'Minnesota',
  'MSY': 'Louisiana',
  'OAK': 'California',
  'ORD': 'Illinois',
  'PDX': 'Oregon',
  'PHL': 'Pennsylvania',
  'PHX': 'Arizona',
  'RDU': 'North Carolina',
  'SAN': 'California',
  'SEA': 'Washington',
  'SFO': 'California',
  'SJC': 'California',
  'SLC': 'Utah',
  'SMF': 'California',
  'STL': 'Missouri',
  'TPA': 'Florida',

}

這是我要運行的代碼:

dataset['StateFrom'] = airportState[dataset['AirportFrom']]

我知道問題是什么,但我不知道如何解決它。

使用map將每個值替換為相關的 State:

dataset['StateFrom'] = dataset['AirportFrom'].map(airportState)
print(dataset)

# Output
  AirportFrom StateFrom
0         PHX   Arizona
1         HNL    Hawaii
2         LGA  New York

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM