Pandas: переименование значений в столбце на основе диапазона чисел, к которому они относятся? - PullRequest
0 голосов
/ 01 августа 2020
• 1000 - 20, они заменяются на 1. Если значение находится в диапазоне от 21 до 30, они заменяются на 2 и т. Д.

Как это сделать с помощью Pandas?

Что пробовал:

dating["attr1_1"] = dating["attr1_1"][0:11] = 0
dating["attr1_1"] = dating["attr1_1"][11:21] = 1

Ответы [ 3 ]

1 голос
/ 01 августа 2020

Вы можете использовать процесс объединения с pd.cut().

import pandas as pd

a = pd.Series(range(1,100))
pd.cut(a, bins=[1,11,21,31,41,51,61,71,81,91,101], labels=False, right=False)
0 голосов
/ 01 августа 2020

Вы можете подать заявку на все столбцы следующим образом:

df.apply(lambda x: x-1 // 10)

Это разделение по этажу звонка: 2,9 становится 2, 1,8 становится 1 et c. Поскольку 30 в вашем случае должно стать 2, мы вычитаем 1 из значения, прежде чем применять деление полов.

0 голосов
/ 01 августа 2020

вы можете создать функцию для выполнения операций и передать ее как аргумент .apply (). например:

def function_name(rows):
    if row > 0 and row <= 10:
        return 0
    elif othercases ...

for cols in df.columns: # loop over all columns in your dataframe
    df[cols] = df[cols].apply(function_name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...