Pandas DataFrame对象
介绍
Pandas是Python中一个强大的数据处理库,而DataFrame
是Pandas中最常用的数据结构之一。DataFrame
是一个二维的、大小可变的、可以包含异构类型数据的表格型数据结构。它类似于Excel表格或SQL表,但功能更加强大和灵活。
DataFrame
由行和列组成,每一列可以有不同的数据类型(如整数、浮点数、字符串等)。每一行和每一列都有一个标签,可以通过这些标签来访问数据。
创建DataFrame
我们可以通过多种方式创建DataFrame
,最常见的方式是从字典、列表或外部文件(如CSV文件)中创建。
从字典创建DataFrame
import pandas as pd
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)
输出:
Name Age City
0 Alice 25 New York
1 Bob 30 Los Angeles
2 Charlie 35 Chicago
在这个例子中,我们使用了一个字典来创建DataFrame
。字典的键成为DataFrame
的列名,而字典的值成为DataFrame
中的数据。
从列表创建DataFrame
data = [
['Alice', 25, 'New York'],
['Bob', 30, 'Los Angeles'],
['Charlie', 35, 'Chicago']
]
df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)
输出:
Name Age City
0 Alice 25 New York
1 Bob 30 Los Angeles
2 Charlie 35 Chicago
在这个例子中,我们使用了一个列表来创建DataFrame
,并通过columns
参数指定了列名。
访问DataFrame中的数据
访问列
我们可以通过列名来访问DataFrame
中的某一列。
print(df['Name'])
输出:
0 Alice
1 Bob
2 Charlie
Name: Name, dtype: object
访问行
我们可以通过iloc
或loc
来访问DataFrame
中的某一行。
print(df.iloc[1])
输出:
Name Bob
Age 30
City Los Angeles
Name: 1, dtype: object
访问特定单元格
我们可以通过iloc
或loc
来访问DataFrame
中的特定单元格。
print(df.iloc[1, 2])
输出:
Los Angeles
修改DataFrame
添加新列
我们可以通过赋值的方式向DataFrame
中添加新列。
df['Salary'] = [70000, 80000, 90000]
print(df)
输出:
Name Age City Salary
0 Alice 25 New York 70000
1 Bob 30 Los Angeles 80000
2 Charlie 35 Chicago 90000
修改数据
我们可以通过赋值的方式修改DataFrame
中的数据。
df.at[1, 'Age'] = 31
print(df)
输出:
Name Age City Salary
0 Alice 25 New York 70000
1 Bob 31 Los Angeles 80000
2 Charlie 35 Chicago 90000
实际应用场景
数据清洗
在实际的数据分析中,我们经常需要对数据进行清洗。例如,我们可能需要处理缺失值、删除重复数据或转换数据类型。
# 处理缺失值
df['Salary'].fillna(0, inplace=True)
# 删除重复数据
df.drop_duplicates(inplace=True)
# 转换数据类型
df['Age'] = df['Age'].astype(float)
数据分组与聚合
我们可以使用groupby
方法对数据进行分组,并使用聚合函数(如sum
、mean
等)对数据进行汇总。
grouped_df = df.groupby('City')['Salary'].mean()
print(grouped_df)
输出:
City
Chicago 90000.0
Los Angeles 80000.0
New York 70000.0
Name: Salary, dtype: float64
总结
DataFrame
是Pandas中最常用的数据结构之一,它提供了强大的数据处理功能。通过本文,我们学习了如何创建DataFrame
、访问和修改数据,以及如何在实际应用中使用DataFrame
进行数据清洗和分组聚合。
附加资源与练习
- 练习1:创建一个包含5行3列的
DataFrame
,列名分别为A
、B
、C
,并尝试访问和修改其中的数据。 - 练习2:从一个CSV文件中读取数据并创建
DataFrame
,然后对数据进行清洗和分组聚合操作。
如果你想深入学习Pandas,可以参考Pandas官方文档。