Как сохранить фрейм данных из вывода из группы с помощью [duplicate]

Сообщение является известной ошибкой Gradle . Причина вашей ошибки в том, что некоторые из ваших файлов gradle.build не имеют apply plugin: 'java'. И из-за ошибки Gradle не говорит вам, где проблема.

Но вы можете легко преодолеть это. Проще говоря, apply plugin: 'java' в каждом вашем «gradle.build»

253
задан Brian Tompsett - 汤莱恩 7 November 2015 в 11:19
поделиться

4 ответа

:

df['index1'] = df.index

или .reset_index :

df.reset_index(level=0, inplace=True)

, поэтому, если у вас есть мультииндекс кадр с 3 уровнями индекса, например:

>>> df
                       val
tick       tag obs        
2016-02-26 C   2    0.0139
2016-02-27 A   2    0.5577
2016-02-28 C   6    0.0303

, и вы хотите преобразовать уровни 1-го (tick) и 3-го (obs) в индекс в столбцы, вы бы сделали:

>>> df.reset_index(level=['tick', 'obs'])
          tick  obs     val
tag                        
C   2016-02-26    2  0.0139
A   2016-02-27    2  0.5577
C   2016-02-28    6  0.0303
402
ответ дан Brad Solomon 22 August 2018 в 21:44
поделиться
  • 1
    имейте в виду, что вы должны делать это n раз для каждого вашего индекса (например, если у вас есть два индекса, вам нужно сделать это дважды) – dval 19 May 2015 в 00:13
  • 2
    С помощью df.reset_index(level=df.index.names, inplace=True) можно преобразовать заданный цельный мультииндекс в столбцы – venti 9 November 2016 в 10:50
  • 3
    Можете ли вы иметь индекс в столбце, который вы только что добавили в dataframe, чтобы его истинный столбец И индекс? – bretcj7 21 December 2017 в 16:30

Для MultiIndex вы можете извлечь свой субиндекс, используя

df['si_name'] = R.index.get_level_values('si_name') 

, где si_name - имя субиндекса.

23
ответ дан Apogentus 22 August 2018 в 21:44
поделиться

Чтобы получить более ясность, давайте посмотрим на DataFrame с двумя уровнями в его индексе (MultiIndex).

index = pd.MultiIndex.from_product([['TX', 'FL', 'CA'], 
                                    ['North', 'South']], 
                                   names=['State', 'Direction'])

df = pd.DataFrame(index=index, 
                  data=np.random.randint(0, 10, (6,4)), 
                  columns=list('abcd'))

Метод reset_index, вызываемый параметрами по умолчанию, преобразует все индексы в столбцы и использует простой RangeIndex в качестве нового индекса.

df.reset_index()

Используйте параметр level для управления тем, какие уровни индексов преобразуются в столбцы. Если возможно, используйте имя уровня, которое является более явным. Если имена уровней отсутствуют, вы можете ссылаться на каждый уровень по его целочисленному местоположению, которое начинается с 0 извне. Вы можете использовать скалярное значение здесь или список всех индексов, которые вы хотели бы сбросить.

df.reset_index(level='State') # same as df.reset_index(level=0)

В редком случае, когда вы хотите сохранить индекс и превратить индекс в столбец, вы можете сделать следующее:

# for a single level
df.assign(State=df.index.get_level_values('State'))

# for all levels
df.assign(**df.index.to_frame())
10
ответ дан Ted Petrou 22 August 2018 в 21:44
поделиться
0
ответ дан bunji 5 November 2018 в 19:10
поделиться
Другие вопросы по тегам:

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