Python Pandas - форматирование в Excel [дубликат]

Краткий ответ: ваш метод foo() возвращается немедленно, а вызов $ajax() выполняется асинхронно после возврата функции . Проблема заключается в том, как и где сохранить результаты, полученные при вызове async, после его возврата.

В этом потоке было задано несколько решений. Возможно, самый простой способ - передать объект методу foo() и сохранить результаты в члене этого объекта после завершения асинхронного вызова.

function foo(result) {
    $.ajax({
        url: '...',
        success: function(response) {
            result.response = response;   // Store the async result
        }
    });
}

var result = { response: null };   // Object to hold the async result
foo(result);                       // Returns before the async completes

Обратите внимание, что вызов foo() ] все равно не вернут ничего полезного. Однако результат асинхронного вызова теперь будет сохранен в result.response.

9
задан JAB 5 February 2015 в 07:44
поделиться

2 ответа

Вы можете использовать pivot_table:

pd.pivot_table(df, values = 'Value', index=['Country','Year'], columns = 'Indicator').reset_index()

: выходы:

 Indicator  Country     Year    1   2   3   4   5
 0          Angola      2005    6   13  10  11  5
 1          Angola      2006    3   2   7   3   6
17
ответ дан JAB 28 August 2018 в 04:03
поделиться

Это предположение: это не файл «.csv», а Pandas DataFrame, импортированный из «.csv».

Чтобы развернуть эту таблицу, вам нужны три аргумента в «Pivot» Pandas. например, если df является вашим фреймворком данных:

table = df.pivot(index='Country',columns='Year',values='Value')  
print (table)

Это должно должно выдавать желаемый результат.

0
ответ дан jdv 28 August 2018 в 04:03
поделиться
Другие вопросы по тегам:

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