Я очень запутался с DataFrame.from_dict.Кажется, DataFrame.from_dict работает правильно на dict с кортежем dict случайно @ _ @.Серьезно, я попробовал некоторые случаи ниже.
case1:
dict_var1 = {('a', 'b'): [43,47], ('a', 'c'): [23,40], ('b', 'c'): [30,35], ('c', 'd'): [10,30], ('a', 'd'): [23,28]}
frame_var1 = pd.DataFrame.from_dict(dict_var1, orient='index', columns=['num', 'cnt'])
print(frame_var1.index)
result1:
Index([('a', 'b'), ('a', 'c'), ('b', 'c'), ('c', 'd'), ('a', 'd')], dtype = 'object')
case2:
dict_var2 = {('a', 'b'): {'num': 43, 'cnt': 47}, ('a', 'c'): {'num': 23, 'cnt': 40}, ('b', 'c'): {'num': 30, 'cnt': 35}, ('c', 'd'): {'num': 10, 'cnt': 30}, ('a', 'd'): {'num': 23, 'cnt': 28}}
frame_var2 = pd.DataFrame.from_dict(dict_var2, orient='index', columns=['num', 'cnt'])
print(frame_var2.index)
result2:
MultiIndex (уровни = [['a', 'b', 'c'], ['b', 'c', 'd']], метки = [[0, 0, 0, 1, 2], [0, 1, 2, 1, 2]])
question :
Когда я меняю тип значений dict со списка на dict,DataFrame.from_dict может изменить ключи dict кортежа в многоиндексное право.Кто-нибудь может объяснить, как DataFrame.from_dict работает, приводя к этим результатам?