Snažím sa získať údaje z tohto dikta:
d= {
"1992":
{ "j": 2048, "f": 1290, "m": 3221, "a": 6994, "ma": 2091, "ju": 688, "jl": 981, "ag": 2389, "s": 3010, "o": 13006, "n": 10477, "d": 6022 },
"1998":
{ "j": 1751, "f": 1056, "m": 2664, "a": 3091, "ma": 1088, "ju": 1215, "jl": 699, "ag": 2108, "s": 1799, "o": 4522, "n": 7200, "d": 5614 }}
a pokračujte s týmto vzorom: ( "Rok (x)": { "mesiac1": hodnota (1), ... mesiac (n): Hodnota (n))}
a zobrazte ich v pruhu, ktorý má v osi x zoznam mesiacov av osi y v roku. Snažil som sa použiť Dataframe
riešenie Python diktuje DataFrame Pandas ale nemôžem použiť graf. Matplotlib mi umožňuje vložiť iba jeden rok:
plt.bar(range(len(d)), d.values(), fill=False)
takže myslím, že Pandy "Dataframe" je lepšie. Existuje spôsob, ako získať tieto údaje v tom istom bare?
odpovede:
1 pre odpoveď č. 1Zdá sa, že potrebujete DataFrame.plot.bar
:
df = pd.DataFrame(d)
df.plot.bar()
Ak chcete, nastavte aj poradie months
:
names = ["j", "f", "m", "a", "ma","ju", "jl", "ag", "s", "o", "n", "d"]
df = pd.DataFrame(d).reindex(names)
print (df)
1992 1998
j 2048 1751
f 1290 1056
m 3221 2664
a 6994 3091
ma 2091 1088
ju 688 1215
jl 981 699
ag 2389 2108
s 3010 1799
o 13006 4522
n 10477 7200
d 6022 5614