Pandas中的数据结构
Pandas是一个开源的库,用于轻松和直观地处理关系型或标签型数据。它提供了各种数据结构和操作来处理数字数据和时间序列。它提供了一个清理和处理数据的工具。它是最流行的Python库,用于数据分析。在这篇文章中,我们将学习Pandas数据结构。
它支持两种数据结构。
- Series
- Dataframe
Series
Pandas是一个一维标记的数组,能够容纳任何类型的数据(整数、字符串、浮点、Python对象等)。
语法: pandas.Series( data=None , index=None , dtype=None , name=None , copy=False , fastpath=False)
参数:
- data : 数组- 包含存储在系列中的数据。
- index : 类似数组或索引(1d)
- dtype : str, numpy.dtype, or ExtensionDtype, optional
- name : str, optional
- copy: bool, 默认为 False
例子1:持有char数据类型的系列。
import pandas as pd
# a simple char list
list = ['g', 'e', 'e', 'k', 's']
# create series form a char list
res = pd.Series(list)
print(res)
输出:
例子2:系列持有Int数据类型。
import pandas as pd
# a simple int list
list = [1,2,3,4,5]
# create series form a int list
res = pd.Series(list)
print(res)
输出:
例子3:系列持有字典。
import pandas as pd
dic = { 'Id': 1013, 'Name': 'MOhe',
'State': 'Maniput','Age': 24}
res = pd.Series(dic)
print(res)
输出:
Dataframe
Pandas DataFrame是一个二维的大小可调的、可能是异质的表格式数据结构,有标记的轴(行和列)。数据框架是一个二维数据结构,也就是说,数据以表格的方式排列在行和列中,就像电子表格或SQL表,或Series对象的dict。.Pandas DataFrame由三个主要部分组成,即数据、行和列。
创建一个Pandas数据框架
在现实世界中,Pandas DataFrame将通过从现有的存储中加载数据集来创建,存储可以是SQL数据库、CSV文件和Excel文件。Pandas DataFrame可以从列表、字典和字典列表中创建。数据框架可以通过不同的方式创建,下面是我们创建数据框架的一些方法。
例子1: DataFrame可以使用一个单一的列表或一个列表来创建。
# import pandas as pd
import pandas as pd
# list of strings
lst = ['Geeks', 'For', 'Geeks', 'is',
'portal', 'for', 'Geeks']
# Calling DataFrame constructor on list
df = pd.DataFrame(lst)
display(df)
输出:
示例2:从ndarray/lists的dict中创建DataFrame。
要从narray/list的dict创建DataFrame,所有的narray必须是相同的长度。如果传递了索引,那么索引的长度应该等于数组的长度。如果没有传递索引,那么默认情况下,索引将是range(n),其中n是数组长度。
# Python code demonstrate creating
# DataFrame from dict narray / lists
# By default addresses.
import pandas as pd
# initialise data of lists.
data = {'Name':['Tom', 'nick', 'krish', 'jack'],
'Age':[20, 21, 19, 18]}
# Create DataFrame
df = pd.DataFrame(data)
# Print the output.
display(df)
输出:
处理DataFrame中的列和行
选择列:为了在Pandas DataFrame中选择一个列,我们可以通过调用它们的列名来访问这些列。
# Import pandas package
import pandas as pd
# Define a dictionary containing employee data
data = {'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'],
'Age':[27, 24, 22, 32],
'Address':['Delhi', 'Kanpur', 'Allahabad', 'Kannauj'],
'Qualification':['Msc', 'MA', 'MCA', 'Phd']}
# Convert the dictionary into DataFrame
df = pd.DataFrame(data)
# select two columns
print(df[['Name', 'Qualification']])
输出:
如何从Pandas DataFrame中选择行和列
例子1:选择行。
pandas.DataFrame.loc是一个函数,用于根据提供的条件从Pandas DataFrame中选择行。
语法: df.loc[df[‘cname’] ‘condition’]
参数:
- df:代表数据框架
- cname: 代表列名
- condition:代表需要选择的行的条件。
# Importing pandas as pd
from pandas import DataFrame
# Creating a data frame
Data = {'Name': ['Mohe', 'Shyni', 'Parul', 'Sam'],
'ID': [12, 43, 54, 32],
'Place': ['Delhi', 'Kochi', 'Pune', 'Patna']
}
df = DataFrame(Data, columns = ['Name', 'ID', 'Place'])
# Print original data frame
print("Original data frame:\n")
display(df)
# Selecting the product of Electronic Type
select_prod = df.loc[df['Name'] == 'Mohe']
print("\n")
# Print selected rows based on the condition
print("Selecting rows:\n")
display (select_prod)
输出:
例子2:选择列。
# Importing pandas as pd
from pandas import DataFrame
# Creating a data frame
Data = {'Name': ['Mohe', 'Shyni', 'Parul', 'Sam'],
'ID': [12, 43, 54, 32],
'Place': ['Delhi', 'Kochi', 'Pune', 'Patna']
}
df = DataFrame(Data, columns = ['Name', 'ID', 'Place'])
# Print original data frame
print("Original data frame:")
display(df)
print("Selected column: ")
display(df[['Name', 'ID']] )
输出: