Pandas-DataFrame知识点汇总

  • Post category:Python

Pandas-DataFrame知识点汇总

前言

Pandas是一种用于数据分析的Python库。它具有灵活的数据结构和强大的数据操作功能,是数据处理和数据分析的重要工具。其中最重要的数据结构是DataFrame。

这篇文章将介绍Pandas DataFrame中一些重要的知识点和技巧。包括如何创建、访问以及操作DataFrame。希望对初学者有所帮助。

创建DataFrame

DataFrame是一种二维表格数据结构。在Pandas中,它可以通过多种方式创建。

从列表中创建

首先,我们可以从一个列表中创建DataFrame。我们可以将这个列表看作是二维表格的行,将其中每个元素看作是表格中的一个单元格。

import pandas as pd

data = [['John', 'Doe', 22],
        ['Jane', 'Doe', 19],
        ['Jim', 'Smith', 35]]

df = pd.DataFrame(data, columns=['First Name', 'Last Name', 'Age'])
print(df)

输出结果如下:

  First Name Last Name  Age
0       John       Doe   22
1       Jane       Doe   19
2        Jim     Smith   35

从字典中创建

另一种创建DataFrame的方式是从一个字典中创建。字典中的键表示列名,字典中的值表示每一列对应的数据。

import pandas as pd

data = {'First Name': ['John', 'Jane', 'Jim'],
        'Last Name': ['Doe', 'Doe', 'Smith'],
        'Age': [22, 19, 35]}

df = pd.DataFrame(data)
print(df)

输出结果同上。

访问DataFrame

DataFrame中的每一列都可以看作是一个Series对象(一维数组),具有一些常见的数组方法。

访问列

我们可以使用列名来访问DataFrame中的一列。返回的是一个Series对象。

import pandas as pd

data = {'First Name': ['John', 'Jane', 'Jim'],
        'Last Name': ['Doe', 'Doe', 'Smith'],
        'Age': [22, 19, 35]}

df = pd.DataFrame(data)
age = df['Age']
print(age)

输出结果如下:

0    22
1    19
2    35
Name: Age, dtype: int64

访问行

我们可以使用iloc方法来访问DataFrame中的一行。使用索引来指定行号。

import pandas as pd

data = {'First Name': ['John', 'Jane', 'Jim'],
        'Last Name': ['Doe', 'Doe', 'Smith'],
        'Age': [22, 19, 35]}

df = pd.DataFrame(data)
row = df.iloc[0]
print(row)

输出结果如下:

First Name    John
Last Name      Doe
Age             22
Name: 0, dtype: object

可以看到,返回的是一个Series对象,包含这一行中所有的内容。

操作DataFrame

DataFrame的一个重要功能是进行数据操作,比如添加、修改、删除数据,以及对数据进行排序、分组等操作。

添加数据

我们可以使用loc方法向DataFrame中添加一行。在索引处指定新行的内容。

import pandas as pd

data = {'First Name': ['John', 'Jane', 'Jim'],
        'Last Name': ['Doe', 'Doe', 'Smith'],
        'Age': [22, 19, 35]}

df = pd.DataFrame(data)
df.loc[3] = ['Mary', 'Smith', 27]
print(df)

输出结果如下:

  First Name Last Name  Age
0       John       Doe   22
1       Jane       Doe   19
2        Jim     Smith   35
3       Mary     Smith   27

修改数据

我们可以使用loc方法来修改DataFrame中的一行。在索引处指定要修改的行,然后修改该行的列值。

import pandas as pd

data = {'First Name': ['John', 'Jane', 'Jim'],
        'Last Name': ['Doe', 'Doe', 'Smith'],
        'Age': [22, 19, 35]}

df = pd.DataFrame(data)
df.loc[1] = ['Jane', 'Doe', 20]
print(df)

输出结果如下:

  First Name Last Name  Age
0       John       Doe   22
1       Jane       Doe   20
2        Jim     Smith   35

删除数据

我们可以使用drop方法来删除DataFrame中的一行。在索引处指定要删除的行号。

import pandas as pd

data = {'First Name': ['John', 'Jane', 'Jim'],
        'Last Name': ['Doe', 'Doe', 'Smith'],
        'Age': [22, 19, 35]}

df = pd.DataFrame(data)
df = df.drop(1)
print(df)

输出结果如下:

  First Name Last Name  Age
0       John       Doe   22
2        Jim     Smith   35

排序数据

我们可以使用sort_values方法对DataFrame中的数据进行排序。使用by参数指定要排序的列名。

import pandas as pd

data = {'First Name': ['John', 'Jane', 'Jim'],
        'Last Name': ['Doe', 'Doe', 'Smith'],
        'Age': [22, 19, 35]}

df = pd.DataFrame(data)
df = df.sort_values(by='Age')
print(df)

输出结果如下:

  First Name Last Name  Age
1       Jane       Doe   19
0       John       Doe   22
2        Jim     Smith   35

分组数据

我们可以使用groupby方法对DataFrame中的数据进行分组。

import pandas as pd

data = {'Team': ['A', 'A', 'B', 'B', 'B'],
        'Player': ['John', 'Jane', 'Jim', 'Tom', 'Mary'],
        'Score': [22, 19, 35, 17, 28]}

df = pd.DataFrame(data)
grouped = df.groupby('Team')
print(grouped['Score'].mean())

输出结果如下:

Team
A    20.5
B    26.7
Name: Score, dtype: float64

总结

Pandas是一个非常强大的数据分析工具。其中的DataFrame是非常重要的数据结构。本文介绍了如何创建、访问和操作DataFrame。希望对大家的学习有所帮助。