Заменить значение в фрейме данных панд

1

У меня есть рамка данных pandas, и я бы заменил значения

    itemsets = [["26"], ["51", "28", "27"], ["50"], ["8"], ["81","26", 
    15"], ["10"], ["81"]]

    support = [0.06421, 0.00123, 0.04112, 0.0112, 0.12097, 0.08123, 
    0.0021334]

    df = pd.DataFrame()
    df["itemsets"]= itemsets
    df["support"] = support

Я попробовал это

    df.replace("26","dog")

Я получаю этот результат:

        Itemsets        support 
    0   [dog]    
    1   [51, 28, 27]    0.5
    2   [50]            0.4
    3   [8]             0.1
    4   [81,dog ,15]    0.9
    5   [10]            0.6
    6   [81]            0.4
Теги:
pandas
dataframe
numpy
replace

1 ответ

0
Лучший ответ

Создайте словарь для замены, а затем используйте вложенное понимание списка с помощью get - если не сопоставленное значение возвращает старое:

d = {'26':'dog'}
df["itemsets"] = [[d.get(y, y) for y in x] for x in df['itemsets']]
print (df)
        itemsets
0          [dog]
1   [51, 28, 27]
2           [50]
3            [8]
4  [81, dog, 15]
5           [10]
6           [81]
  • 1
    спасибо @jezrael
  • 0
    @AnisAmh - Добро пожаловать!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню