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

Попробуйте следующее

Matrix identity = DenseMatrix.Factory.zeros(3, 3);
for(int i=0; i < 3; y++)
   identity.setAsDouble(1.0, i, i);
1
задан paul 18 January 2019 в 23:56
поделиться

1 ответ

Вы должны были положить минимальный, полный и проверяемый пример . Пожалуйста, убедитесь, что в будущем мы сможем запустить ваш код, просто вставив его в IDE. Я потратил слишком много времени на этот вопрос, ха-ха

import pandas as pd

temp = pd.DataFrame({'A' : [20, 4, 60, 4, 8], 'B' : [2, 4, 5, 6, 7]})
temp2 = pd.DataFrame({'A' : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'B' : [1, 2, 3, 10, 5, 6, 70, 8, 9, 10]})
print(temp)
print(temp2)
#     A  B
# 0  20  2
# 1   4  4
# 2  60  5
# 3   4  6
# 4   8  7

#     A   B
# 0   1   1
# 1   2   2
# 2   3   3
# 3   4  10
# 4   5   5
# 5   6   6
# 6   7  70
# 7   8   8
# 8   9   9
# 9  10  10

# Make a mapping of the values of our second mask.
mapping = dict(zip(temp2['A'], temp2['B']))

#   We apply the mapping to each row. If we find the occurence, replace, else, default.
temp['B'] = temp['A'].apply(lambda x:mapping[x] if x in mapping else 'No matching')
print(temp)
#     A            B
# 0  20  No matching
# 1   4           10
# 2  60  No matching
# 3   4           10
# 4   8            8
0
ответ дан IMCoins 18 January 2019 в 23:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: