Свойства метаданных Pandas не передаются группам объекта Groupby

#python #pandas

#python #pandas

Вопрос:

Предположим, у меня есть

 df = pd.DataFrame({'A': [1,2,3], 'B': [1,2,1]})
df._metadata  = "name"
df.name = "The Name"

groups = df.groupby(by="B")
for id, group in groups:
    print(group.name)
  

print Функция выдаст AttributeError .

Теперь мне нужно было бы каким-то образом передать метаданные каждой отдельной группе. Как это можно сделать?

Ответ №1:

Вы должны использовать это обозначение ( df['COLNAME'] = 'VALUE' ) для добавления новых столбцов:

 df = pd.DataFrame({'A': [1,2,3], 'B': [1,2,1]})
df['_metadata'] = "name"
df['name'] = "The Name"

groups = df.groupby(by="B")
for id, group in groups:
    print(group.name)
  

Вывод:

 0    The Name
2    The Name
Name: name, dtype: object
1    The Name
Name: name, dtype: object
  

Ответ №2:

Вы все еще можете получить к нему доступ df , нет?

 # ...
for id, group in groups:
    print(df.name)
  

Вы также можете назначить каждой группе, если вам нужно это сделать по какой-либо причине:

 # ...
for id, group in groups:
    group.name = df.name