Вы можете построить строки DataFrame вручную, объединив ключ и значение, например, так:
import pandas as pd
d = {("Sam", "Scotland", "23"): 25,
("Oli", "England", "23"): 28,
("Ethan", "Wales", "18"): 19}
df = pd.DataFrame([k + (v,) for k, v in d.items()], columns=['name', 'country', 'age', 'count'])
print(df)
выход
name country age count
0 Ethan Wales 18 19
1 Sam Scotland 23 25
2 Oli England 23 28
Или как альтернатива:
import pandas as pd
d = {("Sam", "Scotland", "23"): 25,
("Oli", "England", "23"): 28,
("Ethan", "Wales", "18"): 19}
df = pd.DataFrame(
[{"name": name, "country": country, "age": age, "count": value} for (name, country, age), value in d.items()])
print(df)
выход
age count country name
0 23 28 England Oli
1 23 25 Scotland Sam
2 18 19 Wales Ethan
Идея состоит в том, чтобы преобразовать пары ключ-значение в список словарей и затем передать его в DataFrame
.