Как и большинство объектов Python, вы можете добавить атрибут, используя синтаксис точки (.
).Однако вы должны быть осторожны, чтобы имена ваших атрибутов не конфликтовали с метками.Вот демонстрация:
import pandas as pd
s = pd.Series(list(range(3)), index=list('abc'))
s.a = 10
s.d = 20
print(s.a, s.d)
10 20
print(s)
a 10
b 1
c 2
Как и выше, вы можете невольно перезаписать значение метки, когда на самом деле вы хотите добавить атрибут a
.Один из способов решить эту проблему, как описано здесь , - выполнить простую проверку:
if 'a' not in s:
s.a = 100
else:
print('Attempt to overwrite label when setting attribute aborted!')
# or raise a custom error
Обратите внимание, что операции с кадром данных, такие как GroupBy
, pivot
и т. Д., как описано здесь , может возвращать копии данных с удаленными атрибутами.
Наконец, для хранения фреймов данных или серий с прикрепленными метаданными, вы можете рассмотреть HDF5,См., Например, этот ответ .