Как мне присвоить значение определенной строке и столбцу по имени? - PullRequest
1 голос
/ 21 октября 2019

Я попытался перебрать каждую строку в кадре данных, и для этого - calculate_distance_from_SnS(row), а затем переназначить возвращаемое значение (его число). В результате он не сохраняет значение в определенном столбце, что мне не хватает?

, например:

DF, пример

A   B   C
1   10  0
2   12  0

, и я хочучтобы сделать эту функцию C=A+B для каждой строки и перейти в это состояние:

A   B   C
1   10  11
2   12  14

Я сделал это:


def calculate_distance_from_SnS(row):

, используя DF-строку и используя 2 столбца для вычисления.



for i,row in customers.iterrows():
    row['dist_from_sns'] = calculate_distance_from_SnS(row)

1 Ответ

1 голос
/ 21 октября 2019

Установить значения оригинала DataFrame, а не Series в цикле:

for i,row in customers.iterrows():
    customers.loc[i, 'dist_from_sns'] = calculate_distance_from_SnS(row)

Но, если возможно, лучше использовать DataFrame.apply с axis=1 для обработкипо строкам:

f = lambda x: calculate_distance_from_SnS(x['lat'], x['long'])
customers['dist_from_sns'] = customers.apply(f, axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...