Передача списка значений для переназначения в Python - PullRequest
0 голосов
/ 01 декабря 2018

Мне было интересно, есть ли способ передать список значений / соответствующих значений, которые я переназначаю в моем фрейме данных.Я использую усеченную версию своего набора данных и, скорее всего, не буду обновлять код одну за другой, в моих данных около 30 разных уникальных переменных QFundMaster.

 QFundMaster    NPS
0   3   1
1   5   2
2   10  3
3   23  9
4   26  1

Код, который я использую для переназначенияданные выглядят следующим образом:

df['Fund'] = df['QFundMaster'] \
.map({3: 'Fund1'\
  ,5: 'Fund2'\
  ,10: 'Fund3'\
  ,23: 'Fund4'\
  ,26: 'Fund5'})

Код работает отлично, но после способа передать список значений / новых значений, поэтому мне не нужно редактировать код по одному исделать это более эффективным.Любая помощь в правильном направлении будет принята с благодарностью.Спасибо!

print(df.Fund)
0    Fund1
1    Fund2
2    Fund3
3    Fund4
4    Fund5
Name: Fund, dtype: object

1 Ответ

0 голосов
/ 01 декабря 2018

Если у вас есть список old_values и new_values, вы можете сделать:

import pandas as pd

data = [[3, 1],
        [5, 2],
        [10, 3],
        [23, 9],
        [26, 1]]

df =pd.DataFrame(data=data, columns=['QFundMaster', 'NPS'])

old_values = [3, 5, 10, 23, 26]
new_values = ['Fund1', 'Fund2', 'Fund3', 'Fund4', 'Fund5']

df['Fund'] = df['QFundMaster'].map(dict(zip(old_values, new_values)))

print(df)

Вывод

   QFundMaster  NPS   Fund
0            3    1  Fund1
1            5    2  Fund2
2           10    3  Fund3
3           23    9  Fund4
4           26    1  Fund5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...