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。希望对大家的学习有所帮助。