Try: https://www.w3schools.com/python/pandas/trypandas.asp?filename=demo_pandas_csv

      Manipulate csv file using pandas in python3. See python code and output

      import pandas as pd

      Assume we have a file called data.csv

      df = pd.read_csv('data.csv')
      we print here as df.to_html(index=False).replace('\r\n','<br>')
      All records - print(df)
      Name Age Address Education City Gender
      John doe 26 23 Pauline blvd, Cherry Hill, NJ 08003 PHD New York Male
      Mary Jay 34 24 Pauline blvd, Cherry Hill, NJ 08003 BSc Philadelphia Female
      Eliz Gal 55 25 Pauline blvd, Cherry Hill, NJ 08003 BA Mavern Female
      John Mar 35 26 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Female
      John feb 29 27 Pauline blvd, Cherry Hill, NJ 08003 Diploma New York Male
      John Apr 22 28 Pauline blvd, Cherry Hill, NJ 08003 MA Philadelphia Male
      May Jun 65 29 Pauline blvd, Cherry Hill, NJ 08003 MBBS Upper Darby Male
      John Dec 23 30 Pauline blvd, Cherry Hill, NJ 08003 BA Poly Male
      John Nov 53 31 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Male
      John Joe 22 32 Pauline blvd, Cherry Hill, NJ 08003 MBA Poly Male
      John Mard 12 33 Pauline blvd, Cherry Hill, NJ 08003 MCA Poly Male
      John water 65 34 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Male
      John trac 32 35 Court blvd, New York, NY 08003 MBA Poly Male
      John gan 65 36 State st, Philadelphia , PA 08003 MS Poly Male

      First five rows print(df.head)

      Name Age Address Education City Gender
      John doe 26 23 Pauline blvd, Cherry Hill, NJ 08003 PHD New York Male
      Mary Jay 34 24 Pauline blvd, Cherry Hill, NJ 08003 BSc Philadelphia Female
      Eliz Gal 55 25 Pauline blvd, Cherry Hill, NJ 08003 BA Mavern Female
      John Mar 35 26 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Female
      John feb 29 27 Pauline blvd, Cherry Hill, NJ 08003 Diploma New York Male

      Last five rows print(df.tail)

      Name Age Address Education City Gender
      John Joe 22 32 Pauline blvd, Cherry Hill, NJ 08003 MBA Poly Male
      John Mard 12 33 Pauline blvd, Cherry Hill, NJ 08003 MCA Poly Male
      John water 65 34 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Male
      John trac 32 35 Court blvd, New York, NY 08003 MBA Poly Male
      John gan 65 36 State st, Philadelphia , PA 08003 MS Poly Male

      All Adults above 25 years old print(df[df['age'] > 25])

      Name Age Address Education City Gender
      John doe 26 23 Pauline blvd, Cherry Hill, NJ 08003 PHD New York Male
      Mary Jay 34 24 Pauline blvd, Cherry Hill, NJ 08003 BSc Philadelphia Female
      Eliz Gal 55 25 Pauline blvd, Cherry Hill, NJ 08003 BA Mavern Female
      John Mar 35 26 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Female
      John feb 29 27 Pauline blvd, Cherry Hill, NJ 08003 Diploma New York Male
      May Jun 65 29 Pauline blvd, Cherry Hill, NJ 08003 MBBS Upper Darby Male
      John Nov 53 31 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Male
      John water 65 34 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Male
      John trac 32 35 Court blvd, New York, NY 08003 MBA Poly Male
      John gan 65 36 State st, Philadelphia , PA 08003 MS Poly Male


      Descriptive statistics for an overview print(df.describe())
      Age
      14.000000
      38.428571
      18.391948
      12.000000
      23.750000
      33.000000
      54.500000
      65.000000


      Filter rows where age is between 25 and 30 and city is 'New York'

      filtered_df = df[(df['Age'] > 25) & (df['Age'] < 30) & (df['City'] == 'New York')]
      Name Age Address Education City Gender
      John doe 26 23 Pauline blvd, Cherry Hill, NJ 08003 PHD New York Male
      John feb 29 27 Pauline blvd, Cherry Hill, NJ 08003 Diploma New York Male


      Sort by age in ascending order

      sorted_df = df.sort_values(by='Age')
      Name Age Address Education City Gender
      John Mard 12 33 Pauline blvd, Cherry Hill, NJ 08003 MCA Poly Male
      John Apr 22 28 Pauline blvd, Cherry Hill, NJ 08003 MA Philadelphia Male
      John Joe 22 32 Pauline blvd, Cherry Hill, NJ 08003 MBA Poly Male
      John Dec 23 30 Pauline blvd, Cherry Hill, NJ 08003 BA Poly Male
      John doe 26 23 Pauline blvd, Cherry Hill, NJ 08003 PHD New York Male
      John feb 29 27 Pauline blvd, Cherry Hill, NJ 08003 Diploma New York Male
      John trac 32 35 Court blvd, New York, NY 08003 MBA Poly Male
      Mary Jay 34 24 Pauline blvd, Cherry Hill, NJ 08003 BSc Philadelphia Female
      John Mar 35 26 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Female
      John Nov 53 31 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Male
      Eliz Gal 55 25 Pauline blvd, Cherry Hill, NJ 08003 BA Mavern Female
      May Jun 65 29 Pauline blvd, Cherry Hill, NJ 08003 MBBS Upper Darby Male
      John water 65 34 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Male
      John gan 65 36 State st, Philadelphia , PA 08003 MS Poly Male


      Or descending order

      sorted_df_desc = df.sort_values(by='Age', ascending=False)
      Name Age Address Education City Gender
      May Jun 65 29 Pauline blvd, Cherry Hill, NJ 08003 MBBS Upper Darby Male
      John water 65 34 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Male
      John gan 65 36 State st, Philadelphia , PA 08003 MS Poly Male
      Eliz Gal 55 25 Pauline blvd, Cherry Hill, NJ 08003 BA Mavern Female
      John Nov 53 31 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Male
      John Mar 35 26 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Female
      Mary Jay 34 24 Pauline blvd, Cherry Hill, NJ 08003 BSc Philadelphia Female
      John trac 32 35 Court blvd, New York, NY 08003 MBA Poly Male
      John feb 29 27 Pauline blvd, Cherry Hill, NJ 08003 Diploma New York Male
      John doe 26 23 Pauline blvd, Cherry Hill, NJ 08003 PHD New York Male
      John Dec 23 30 Pauline blvd, Cherry Hill, NJ 08003 BA Poly Male
      John Apr 22 28 Pauline blvd, Cherry Hill, NJ 08003 MA Philadelphia Male
      John Joe 22 32 Pauline blvd, Cherry Hill, NJ 08003 MBA Poly Male
      John Mard 12 33 Pauline blvd, Cherry Hill, NJ 08003 MCA Poly Male

      Sort by Gender sorted_gender_df = df.sort_values(by='Gender')
      Name Age Address Education City Gender
      Mary Jay 34 24 Pauline blvd, Cherry Hill, NJ 08003 BSc Philadelphia Female
      Eliz Gal 55 25 Pauline blvd, Cherry Hill, NJ 08003 BA Mavern Female
      John Mar 35 26 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Female
      John doe 26 23 Pauline blvd, Cherry Hill, NJ 08003 PHD New York Male
      John feb 29 27 Pauline blvd, Cherry Hill, NJ 08003 Diploma New York Male
      John Apr 22 28 Pauline blvd, Cherry Hill, NJ 08003 MA Philadelphia Male
      May Jun 65 29 Pauline blvd, Cherry Hill, NJ 08003 MBBS Upper Darby Male
      John Dec 23 30 Pauline blvd, Cherry Hill, NJ 08003 BA Poly Male
      John Nov 53 31 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Male
      John Joe 22 32 Pauline blvd, Cherry Hill, NJ 08003 MBA Poly Male
      John Mard 12 33 Pauline blvd, Cherry Hill, NJ 08003 MCA Poly Male
      John water 65 34 Pauline blvd, Cherry Hill, NJ 08003 MA Poly Male
      John trac 32 35 Court blvd, New York, NY 08003 MBA Poly Male
      John gan 65 36 State st, Philadelphia , PA 08003 MS Poly Male

      Transpose data for a different view
      df_transposed = df.T
      Pivot table for flexible analysis pivot_table = df.pivot_table(index='Gender', values='Age', aggfunc='mean')
      Grouping is the start of data mining.
      It is like grouping similar items and measuring their average weight. `groupby` adds depth to your analysis.
      Age
      41.333333
      37.636364
      Printed from Python list {'country':['Brzil'...]} with data_table = pd.DataFrame(data)
      country capital area population
      0 Brazil Brasilia 8.516 200.40
      1 Russia Moscow 17.100 143.50
      2 India New Delhi 3.286 1252.00
      3 China Beijing 9.597 1357.00
      4 South Africa Pretoria 1.221 52.98