Python Pandas 中的数据结构详解
pandas是一种用于数据操作和分析的Python库。pandas通过将数据放入数据框(DataFrame)和系列(Series)等数据结构中来实现它的处理能力。
DataFrames
数据框(DataFrame)是pandas中最基本的数据结构之一。它是一种二维表格数据结构,每个元素可以是不同的数据类型(整数,浮点数,字符串等)。我们可以通过多种方式创建数据框。
创建 DataFrames
我们可以通过传递字典来创建数据框,其中字典的键是列名,值是数据。以下是一个示例:
import pandas as pd
data = {
'name': ['Alex', 'Bob', 'Charlie', 'David', 'Eva'],
'age': [25, 32, 28, 22, 35],
'country': ['US', 'UK', 'Canada', 'Mexico', 'France']
}
df = pd.DataFrame(data)
print(df)
输出:
name age country
0 Alex 25 US
1 Bob 32 UK
2 Charlie 28 Canada
3 David 22 Mexico
4 Eva 35 France
访问 DataFrames
我们可以使用以下代码访问数据框中的元素:
df['name'] #访问name列的所有值
df.iloc[0,1] #访问第0行,第1列的值
df.loc[0:2, ['name', 'age']] #访问前三行的name和age列
操作 DataFrames
我们可以使用以下代码对数据框进行操作:
df.head() #显示前5行
df.tail() #显示后5行
df.describe() #显示统计信息,如均值、标准差等
df.rename(columns={'country': 'cntry'}) #重命名列
df.drop(columns=['age']) #删除列
df.query('age > 25') #查询年龄大于25岁的行
df.isnull() #检查缺失值
Series
系列(Series)是pandas中另一个重要的数据结构。它是一种一维数组,可以存储整数、浮点数或字符串等数据类型。它是一种带标签(labelled)的数据结构,这意味着我们可以给每个元素一个标签,方便对元素进行访问。
创建 Series
我们可以使用以下代码创建一个Series:
import pandas as pd
data = {
'Alex': 25,
'Bob': 32,
'Charlie': 28,
'David': 22,
'Eva': 35
}
s = pd.Series(data)
print(s)
输出:
Alex 25
Bob 32
Charlie 28
David 22
Eva 35
dtype: int64
访问 Series
我们可以使用以下代码访问系列中的元素:
s['Alex'] #访问Alex元素
s.iloc[0] #访问第0个元素
操作 Series
我们可以使用以下代码对系列进行操作:
s.mean() #计算平均值
s.max() #查找最大值
s.min() #查找最小值
s.sort_values() #按值对元素排序
s.sort_index() #按索引对元素排序
数据读取和写入
我们也可以使用pandas从文件读取数据,并将数据写入文件。例如,我们可以从CSV文件中读取数据,并将结果保存到Excel文件中。以下是一个示例:
import pandas as pd
#从CSV文件读取数据
df = pd.read_csv('data.csv')
#将数据写入到Excel文件中
df.to_excel('data.xlsx', sheet_name='Data')
这就是Pandas中的数据结构和一些基本操作的概述。 它的功能非常强大,非常适合对数据进行操作和分析。