Рассмотрим тривиальный пример с Dataframe df
и серии s
Невозможно присвоить значение для столбца в панд DataFrame с использованием значения другого столбца в серии ключ
import pandas as pd
matching_vals = range(20,30)
df = pd.DataFrame(columns=['a'], index=range(0,10))
df['a'] = matching_vals
s = pd.Series(list("ABCDEFGHIJ"), index=matching_vals)
df['b'] = s[df['a']]
На данный момент я бы ожидать df['b']
содержать буквы A
через J
, но вместо этого все это NaN
. Однако, если я заменю последнюю строку с
n = df['a'][2]
df['c'] = s[n]
затем df['c']
заполнен C
с, как я бы ожидать, так что я уверен, что это не какая-то странная ошибка типа.
Я новичок в пандах, и это сводит меня с ума.
Удивительно, спасибо! –