Lists to dataframe python

Convert List to DataFrame in Python

In this article, we will discuss how to convert a single or multiple lists to a DataFrame.

Table Of Contents

Python’s pandas library provide a constructor of DataFrame to create a Dataframe by passing objects i.e.

pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

Here data parameter can be a numpy ndarray, lists, dict, or an other DataFrame. Also, columns and index are for column and index labels. Let’s use this to convert lists to dataframe object from lists.

Convert list of lists to DataFrame in Pandas

Frequently Asked:

# List of lists students = [ ['jack', 34, 'Sydeny'] , ['Riti', 30, 'Delhi' ] , ['Aadi', 16, 'New York'] ]

Pass this list to DataFrame’s constructor to create a dataframe object i.e.

import pandas as pd # Creating a DataFrame object from list of lists dfObj = pd.DataFrame(students) # Display the DataFrame print(dfObj)

Contents of the created DataFrames are as follows,

0 1 2 0 jack 34 Sydeny 1 Riti 30 Delhi 2 Aadi 16 New York

Convert Lists of tuples to DataFrame in Pandas

Just like list of lists we can pass list of tuples in dataframe constructor to create a dataframe.

Читайте также:  What can you create using python

Suppose we have a list of tuples i.e.

# List of Tuples students = [ ('jack', 34, 'Sydeny') , ('Riti', 30, 'Delhi' ) , ('Aadi', 16, 'New York') ]

Pass this list of tuples to DataFrame’s constructor to create a DataFrame object i.e.

import pandas as pd # Creating a DataFrame object from list of tuple dfObj = pd.DataFrame(students) # Display the DataFrame print(dfObj)

Contents of the created dataframe is as follows,

0 1 2 0 jack 34 Sydeny 1 Riti 30 Delhi 2 Aadi 16 New York

Both Column & Index labels are default. But we can also provide them i.e.

Convert List of lists to DataFrame & set column names and indexes

import pandas as pd # List of lists students = [ ['jack', 34, 'Sydeny'] , ['Riti', 30, 'Delhi' ] , ['Aadi', 16, 'New York'] ] # Convert list of tuples to dataframe and # set column names and indexes dfObj = pd.DataFrame(students, columns = ['Name' , 'Age', 'City'], index=['a', 'b', 'c']) # Display the DataFrame print(dfObj)

Contents of the created dataframe is as follows,

Name Age City a jack 34 Sydeny b Riti 30 Delhi c Aadi 16 New York

Convert List of tuples to DataFrame and skip certain columns

What of in our list of tuples we have 3 entries in each tuple. What if we want to use 1st and 3rd entry only? Let’s create a dataframe by skipping 2nd entry in tuples i.e.

import pandas as pd # List of Tuples students = [ ('jack', 34, 'Sydeny') , ('Riti', 30, 'Delhi' ) , ('Aadi', 16, 'New York') ] # Create datafrae from student list of tuples # but skip column 'Age' i.e. only with 2 columns dfObj = pd.DataFrame.from_records( students, exclude=['Age'], columns = ['Name' , 'Age', 'City'], index=['a', 'b', 'c']) # Display the DataFrame print(dfObj)

Contents of the created dataframe is as follows,

Name City a jack Sydeny b Riti Delhi c Aadi New York

This DataFrame has only two columns because we skipped the middle entry from each of the tuple in list.

Convert multiple lists to DataFrame in Pandas

Suppose we have 3 different lists and we want to convert them to a DataFrame, with each list as a column. To do that,
zip the lists to create a list of tuples and create a dataframe with this zipped lists i.e.

import pandas as pd listOfNames = ['Jack', 'Riti', 'Aadi'] listOfAge = [34, 30, 16] listOfCity = ['Sydney', 'Delhi', 'New york'] # Create a zipped list of tuples from above lists zippedList = list(zip(listOfNames, listOfAge, listOfCity)) # Create a dataframe from zipped list dfObj = pd.DataFrame(zippedList, columns = ['Name' , 'Age', 'City'], index=['a', 'b', 'c']) # Display the DataFrame print(dfObj)

Contents of the created dataframe is as follows,

Name Age City a Jack 34 Sydney b Riti 30 Delhi c Aadi 16 New york

The Complete example is as follows,

import pandas as pd students = [['jack', 34, 'Sydeny'] , ['Riti', 30, 'Delhi' ] , ['Aadi', 16, 'New York'] ] print("****Create a Dataframe from list of lists *****") # Creating a dataframe object from listoftuples dfObj = pd.DataFrame(students) print("Dataframe : " , dfObj, sep='\n') # List of Tuples students = [('jack', 34, 'Sydeny') , ('Riti', 30, 'Delhi' ) , ('Aadi', 16, 'New York') ] print("****Create a Dataframe from list of tuple *****") # Creating a dataframe object from listoftuples dfObj = pd.DataFrame(students) print("Dataframe : " , dfObj, sep='\n') print("****Create a Dataframe from list of tuple, also set column names and indexes *****") #Convert list of tuples to dataframe and set column names and indexes dfObj = pd.DataFrame(students, columns = ['Name' , 'Age', 'City'], index=['a', 'b', 'c']) print("Dataframe : " , dfObj, sep='\n') print("****Create dataframe from list of tuples and skip certain columns*********") # Create datafrae from student list but # skip column 'Age' i.e. only with 2 columns dfObj = pd.DataFrame.from_records( students, exclude=['Age'], columns = ['Name' , 'Age', 'City'], index=['a', 'b', 'c']) print("Dataframe : " , dfObj, sep='\n') print("***Create dataframe from multiple lists***") listOfNames = ['jack', 'Riti', 'Aadi'] listOfAge = [34, 30, 16] listOfCity = ['Sydney', 'Delhi', 'New york'] # Create a zipped list of tuples from above lists zippedList = list(zip(listOfNames, listOfAge, listOfCity)) print("zippedList = " , zippedList) # Create a dataframe from zipped list dfObj = pd.DataFrame(zippedList, columns = ['Name' , 'Age', 'City'], index=['a', 'b', 'c']) print("Dataframe : " , dfObj, sep='\n')
****Create a Dataframe from list of lists ***** Dataframe : 0 1 2 0 jack 34 Sydeny 1 Riti 30 Delhi 2 Aadi 16 New York ****Create a Dataframe from list of tuple ***** Dataframe : 0 1 2 0 jack 34 Sydeny 1 Riti 30 Delhi 2 Aadi 16 New York ****Create a Dataframe from list of tuple, also set column names and indexes ***** Dataframe : Name Age City a jack 34 Sydeny b Riti 30 Delhi c Aadi 16 New York ****Create dataframe from list of tuples and skip certain columns********* Dataframe : Name City a jack Sydeny b Riti Delhi c Aadi New York ***Create dataframe from multiple lists*** zippedList = [('jack', 34, 'Sydney'), ('Riti', 30, 'Delhi'), ('Aadi', 16, 'New york')] Dataframe : Name Age City a jack 34 Sydney b Riti 30 Delhi c Aadi 16 New york

We learned about different ways to convert list to a Pandas DataFrame in Python.

Источник

Как преобразовать список в dataframe на Python

В этом руководстве мы увидим, как мы можем использовать список и преобразовать его в фрейм данных в Python. Но прежде чем начать с этого, давайте посмотрим, что такое список и что такое фреймы данных?

Список — это структура данных в Python, в которой все элементы заключены в квадратные скобки.

Colors=['Red', 'Blue', 'Green', 'Orange']

Фреймы данных — это табличное представление данных в виде строк и столбцов.

Их можно использовать, импортировав pandas.

Теперь давайте посмотрим на различные методы преобразования списка в фрейм данных в Python.

  1. Использование DataFrame().
  2. Применение списка с именами индексов и столбцов.
  3. С помощью zip().
  4. Используя многомерный список.
  5. С помощью многомерного списка со столбцом и типом данных.
  6. Использование списков в словаре.

Использование pd.DataFrame()

В первом подходе мы использовали pd.DataFrame() для преобразования списка.

Следующая программа показывает, как это можно сделать:

import pandas as pd #list_values having strings list_values = ['English','Hindi','Mathematics','Science','Social Science'] df = pd.DataFrame(list_values) print(df)
0 0 English 1 Hindi 2 Mathematics 3 Science 4 Social Science
  1. На первом этапе мы импортировали библиотеку pandas.
  2. После этого мы объявили список, значениями которого являются строки.
  3. Наконец, мы передали этот список в DataFrame() и отобразили результат.

Применение списка с именами индексов и столбцов

Во втором методе мы создадим фрейм данных, который имеет значение индекса и имя столбца.

Приведенная ниже программа иллюстрирует это:

import pandas as pd #list_values having strings list_values = ['English', 'Hindi', 'Mathematics', 'Science', 'Social Science'] df = pd.DataFrame(list_values,index = ['i', 'ii', 'iii', 'iv', 'v'], columns = ['Subjects']) print(df)
Subjects i English ii Hindi iii Mathematics iv Science v Social Science
  1. На первом этапе мы импортировали библиотеку pandas.
  2. После этого мы объявили список со строками в качестве значений.
  3. Наконец, мы передали этот список в DataFrame() со списком значений индекса и именем столбца.
  4. При выполнении программы отображается желаемый результат.

С помощью zip()

В этом методе мы использовали zip().

Следующая программа показывает, как это можно сделать:

import pandas as pd #list_values having strings list_values = ['English', 'Hindi', 'Mathematics', 'Science', 'Social Science'] list_index = [20, 21, 22, 23, 24] df = pd.DataFrame(list(zip(list_values, list_index)), columns = ['Subjects', 'Code']) print(df)
Subjects Code 0 English 20 1 Hindi 21 2 Mathematics 22 3 Science 23 4 Social Science 24

Пришло время взглянуть на объяснение вышеупомянутой программы —

  1. На первом этапе мы импортировали библиотеку pandas.
  2. После этого мы объявили список со строками в качестве значений, а другой список содержит значения индекса.
  3. Наконец, мы передали list_values и list_index в zip-архиве внутри DataFrame() со списком значений индекса и именем столбца.
  4. При выполнении программы отображается желаемый результат.

Используя многомерный список

Здесь мы увидим, как многомерный список можно использовать для преобразования.

import pandas as pd #list_values having strings list_values = [['English', 4101], ['Hindi', 4102], ['Science', 4103], ['Mathematics', 4104], ['Computer', 4105]] df = pd.DataFrame(list_values, columns = ['Subject Name', 'Subject Code']) print(df)
Subject Name Subject Code 0 English 4101 1 Hindi 4102 2 Science 4103 3 Mathematics 4104 4 Computer 4105
  1. На первом этапе мы импортировали библиотеку pandas.
  2. После этого мы объявили, что список содержит разные списки, и каждый список имеет строку и целочисленное значение.
  3. Наконец, мы передали list_values в pd.DataFrame() со списком имен столбцов.
  4. При выполнении программы отображается желаемый результат.

Использование многомерного списка со столбцом и типом данных

В этом подходе мы увидим небольшую вариацию вышеуказанной программы.

Следующая программа показывает, как это можно сделать:

import pandas as pd #list_values having strings list_values = [['Colin', 'Lassiter', 46], ['James', 'Gomez', 24], ['Sara', 'Charles', 34], ['Raven', 'Stewart', 24], ['Oliver', 'Osment', 21]] df = pd.DataFrame(list_values, columns = ['First_Name', 'Last_Name', 'Age'], dtype = float) print(df)
First_Name Last_Name Age 0 Colin Lassiter 46.0 1 James Gomez 24.0 2 Sara Charles 34.0 3 Raven Stewart 24.0 4 Oliver Osment 21.0
  1. На первом этапе мы импортировали библиотеку pandas.
  2. После этого мы объявили, что список содержит разные списки, и каждый список имеет два строковых значения (имя и фамилию) и целочисленное значение (возраст).
  3. Наконец, мы передали list_values в DataFrame() со списком имен столбцов и типом данных.
  4. При выполнении программы отображается желаемый результат.

Использование списков в словаре

Наконец, в последнем методе мы увидим, как списки можно использовать со словарями и преобразовать список в фрейм данных.

Приведенная ниже программа иллюстрирует то же самое.

import pandas as pd #list_values having strings f_name = ['Colin', 'James', 'Sara', 'Raven', 'Oliver'] l_name = ['Lassiter', 'Gomez', 'Charles', 'Stewart', 'Osment'] age = [46, 24, 34, 24, 21] dict = df = pd.DataFrame(dict) print(df)
First Name Last_Name Age 0 Colin Lassiter 46 1 James Gomez 24 2 Sara Charles 34 3 Raven Stewart 24 4 Oliver Osment 21
  1. На первом этапе мы импортировали библиотеку pandas.
  2. После этого мы объявили три списка, а именно f_name, l_name и age.
  3. На следующем этапе мы использовали эти списки как значения для ключей словаря.
  4. Наконец, мы передали dict в DataFrame().
  5. При выполнении программы отображается желаемый результат.

Вывод

В этом руководстве мы познакомились с некоторыми интересными методами преобразования списка в фрейм данных в Python.

Источник

Оцените статью