Когда вы делаете ser["nancy"]
, вы сигнализируете пандам, что хотите одно значение, поэтому оно вернет значение при индексной клавише "nancy"
.Когда вы делаете ser[["nancy"]]
, вы сигнализируете пандам, что вам может потребоваться несколько значений, поэтому он возвращает структуру данных (в данном случае Series ), которая содержит эти (возможные) несколько значений.Это лучше проиллюстрировано в следующем примере:
import pandas as pd
ser = pd.Series(data=[100, "200", 300, "400", 500], index=["tom", "bob", "nancy", "dan", "eric"])
result = ser["nancy"]
print(result, type(result))
result = ser[["nancy", "dan"]]
print(result, type(result))
Вывод
300 <class 'int'>
nancy 300
dan 400
dtype: object <class 'pandas.core.series.Series'>
Как видно из вывода, ser["nancy"]
возвращает значение ser
на "nancy"
, в данном случае 300, вы можете дополнительно проверить, что это одно значение по его типу (int).Для второго случая тип результата - Сериал.