Я изо всех сил пытаюсь решить эту проблему.Я знал, как создать сводную таблицу, но я действительно изо всех сил стараюсь сохранить индекс как двухуровневый.Вот вопрос, и мой код ниже:
Используйте pivot_table
, чтобы привести в порядок данные ниже в table1
, присваивая результат переменной table1_tidy
.В этом случае оставьте индекс как двухуровневый country
и year
.
table1columns = ["country", "year", "type", "count"]
table1data =[ ["Afghanistan", 1999, "cases", 745],
["Afghanistan", 1999, "population", 19987071],
["Afghanistan", 2000, "cases", 2666],
["Afghanistan", 2000, "population", 20595360],
[ "Brazil", 1999, "cases", 37737],
[ "Brazil", 1999, "population", 172006362],
[ "Brazil", 2000, "cases", 80488],
[ "Brazil", 2000, "population", 174504898],
[ "China", 1999, "cases", 212258],
[ "China", 1999, "population",1272915272],
[ "China", 2000, "cases", 213766],
[ "China", 2000, "population",1280428583] ]
table1 = pd.DataFrame(table1data, columns=table1columns)
### BEGIN SOLUTION
'''
This code uses `pivot_table` to tidy the data below in `table1`,
assigning the result to the variable `table1_tidy`.
'''
table1_tidy = table1.pivot('type', 'count')
### END SOLUTION
# When done, comment out line below
# raise NotImplementedError()
print(table1_tidy)
Мой код должен передать следующие операторы assert, но в настоящее время он этого не делает:
assert table1_tidy.shape == (6, 2)
assert table1_tidy.iloc[3, 0] == 80488