Python provides data structures like Series, DataFrame, Pandas. In this article, we are going to read about DataFrames.
As we know, Python also supports Data Structure. For new and beginners, let’s first discuss what Data Structure is. A data structure is basically a way of storing data in such a way that it can be easily accessed and worked with, like,
In a similar fashion, Python also provides some data structures.
In this article, we will know about DataFrame.
Let’s start with creating DataFrames.
There are a lot of ways for creating DataFrames, like,
Series is a Pandas data structure that represents a 1-Dimenisonal Array like object containing an array of data and an associated array of data labels, called index. We can also create DataFrame from it. Like,
import pandas as pd
Students = pd.Series([‘Raj’,’Raman’,’Rahul’], index=[1,2,3])
Marks=pd.Series([75,89,90], index=[1,2,3])
Contact=pd.Series([‘9899’,’9560’,’9871’], index=[1,2,3])
Dict={ Stud:Students, MM:Marks, Phone:Contact}
df=pd.DataFrame(dict)
print(df)
Note Index must be same for all Series.
Creating DataFrame using 2-D Dictionary contains values as a list.
import pandas as pd
dictObj={
‘EmpCode’ : [‘E01’,’E02’,’E03’,’E04’],
‘EmpName’ : [‘Raj’,’Raman’,’Rahul’,’Rohit’],
‘EmpDept’ : [‘HR’,’Accounts’,’IT’,’HR’]
}
df=pd.DataFrame(dictObj)
print(df)
The output of the above code is mentioned below.
As we can see in the output, it generates the index and keys of 2-D dictionary (which become columns).
We can also change the index value by passing the index in DataFrame(), like
df=pd.DataFrame(dictObj, index=[‘I’,’II’,’III’,’IV’])
Note Index value must be the same length of rows, otherwise, it generates an error.
Creating DataFrame using 2-D Dictionary contains values as Dictionary or Nested Dictionary,
import pandas as pd
yr2018 = {‘NoOfArticles’:1200, ‘NoOfBlogs’:1000, ‘NoOfNews’:700}
yr2019 = {‘NoOfArticles’:1500, ‘NoOfBlogs’:1500, ‘NoOfNews’:900}
yr2020 = {‘NoOfArticles’:2000, ‘NoOfBlogs’:1800, ‘NoOfNews’:1000}
Published = {2018:yr2018, 2019:yr2019, 2020:yr2020}
df = pd.DataFrame(Published)
print(df)
In the above line of code, first, we created 3 dictionaries - yr2018, yr2019 and yr2020. After that, we created a “Published” dictionary which contains other dictionaries. We can also create the above dictionary like below.
Published = {
2018 = {‘NoOfArticles’:1200, ‘NoOfBlogs’:1000, ‘NoOfNews’:700},
2019 = {‘NoOfArticles’:1500, ‘NoOfBlogs’:1500, ‘NoOfNews’:900},
2020 = {‘NoOfArticles’:2000, ‘NoOfBlogs’:1800, ‘NoOfNews’:1000}
}
df = pd.DataFrame(Published)
print(df)
While creating a DataFrame with 2-D nested dictionary -
Columns : outer dictionary keys
Rows : inner dictionary keys.
See the output,
import numpy as np
import pandas as pd
arr=([[11,12,13],[14,15,16],[17,18,19],[20,21,22]])
df=pd.DataFrame(arr)
print(df)
As we can see, the output that it automatically gives row indexes and column indexes which started from 0. We can also change column name and row name like,
df=pd.DataFrame(arr,columns=[‘One’,’Two’,’Three’], index=[‘I’,’II’,’III’,’IV’])
See the output after executing above command,
Note If number of elements in each row different, then Python will create just single column in the dataframe object and the type of column will be consider as Object, like,
import numpy as np
import pandas as pd
arr=np.array([[2,3],[7,8,9],[3,6,5]])
df=pd.DataFrame(arr)
print(df)
We can also create a new DataFrame by existing DataFrame. Like
df2=pd.DataFrame(df)
print(df2)
Now, we have learned about DataFrames in python and how we can create it. After reading this article, I hope we are able to create DataFrame in python.
All the queries related to this article and sample files are always welcome. Thanks for reading.!!!
#Python #DataFrame #python