Python Pandas 中的数据结构详解

  • Post category:Python

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中的数据结构和一些基本操作的概述。 它的功能非常强大,非常适合对数据进行操作和分析。