import pandas as pd from matplotlib import pyplot as plt import matplotlib if __name__ == '__main__': # Configure Pandas to only display floats not in scientific notation pd.options.display.float_format = "{:.2f}".format # Read a list of FR lowest administrative divisions # See france-communes-readme.md for field informations df = pd.read_json("../data/json/france-communes.json") # Get the mean of columns as a new row, and only keep the population column df1 = df.copy() df1.loc["mean"] = df1.mean(skipna=True, numeric_only=True)[["population"]] # Show dataframe print(df1.to_string(max_cols=9)) # Get only cities in the dept 94 df2: pd.DataFrame = df.copy() # Filter rows by using criteria df2 = df2.loc[(df2["departement"] == "94") & (df2["population"] > 0) & (df2["nom"].str.contains(""))] # Sort data by columns df2.sort_values("nom", inplace=True) # Remove columns from the dataframe df2.drop(columns=["chefLieu", "commune"], inplace=True) print(df2.to_string(max_cols=10)) # Show lines matplotlib.use("QtCairo") plt.rcParams["figure.dpi"] = 96 gp = df2.plot.line(x="nom", y="population") plt.show() # Get postal codes from line 37237 row = df2.loc[37237] print(row["codesPostaux"], type(row["codesPostaux"]))