首页 > 解决方案 > Python Pandas 数据框 - 根据索引值添加新列

问题描述

我有一个看起来像这样的 Python 熊猫数据框:

      year_2000  year_1999  year_1998  year_1997  year_1996  year_1995 (MANH, stock name)
MANH 454.47     -71.90     nan        nan        nan        nan         TEST             
LH   385.52     180.95     -24.14     -41.67     -68.92     -26.47      TEST             
DGX  373.33     68.04      4.01       nan        nan        nan         TEST             
SKX  306.56     nan        nan        nan        nan        nan         TEST 

其中股票代码是指数。我想将每只股票的名称添加为新列

我尝试通过添加股票名称列,yearly_best['MANH','stock name']='TEST'但它在所有行中添加了相同的名称。

我有一本名为ticker_name 的字典,其中包含代码和名称

Out[65]: 
{'TWOU': '2U',
 'MMM': '3M',
 'ABT': 'Abbott Laboratories',
 'ABBV': 'AbbVie Inc.',
 'ABMD': 'Abiomed',
 'ACHC': 'Acadia Healthcare',
 'ACN': 'Accenture',
 'ATVI': 'Activision Blizzard',
 'AYI': 'Acuity Brands',
 'ADNT': 'Adient',

因此,我想从字典中获取名称,然后将其放入数据框中的列中。我怎样才能做到这一点?

标签: pythonpandasdataframe

解决方案


由于您的字典的键是您的数据帧的索引,您可以尝试:

d = {'TWOU': '2U',
'MMM': '3M',
'ABT': 'Abbott Laboratories',
'ABBV': 'AbbVie Inc.',
'ABMD': 'Abiomed',
'ACHC': 'Acadia Healthcare',
'ACN': 'Accenture',
'ATVI': 'Activision Blizzard',
'AYI': 'Acuity Brands',
'ADNT': 'Adient',}

df['stock name'] = pd.Series(d)

推荐阅读