Python的Pandas库是数据科学领域中非常重要的一个库,它使数据清洗和分析工作变得更快更简单。Pandas结合了NumPy的高性能数组计算功能以及电子表格和关系型数据库(如SQL)的灵活数据处理能力。
一、Pandas的数据结构
Pandas主要有两种数据结构:Series
和DataFrame
。
1. Series
Series
是一种类似于一维数组的对象,它由一组数据和一组与之相关的数据标签(即索引)组成。
import pandas as pd
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s)
2. DataFrame
DataFrame
是一种二维的表格型数据结构,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。
import pandas as pd
data = {
'Country': ['Belgium', 'India', 'Brazil'],
'Capital': ['Brussels', 'New Delhi', 'Brasília'],
'Population': [11190846, 1303171035, 207847528]}
df = pd.DataFrame(data, columns=["Country", "Capital", "Population"])
print(df)
二、数据读取与写入
Pandas提供了一些用于将表格型数据读取为DataFrame对象的函数,支持多种格式的数据,如csv、excel、json、html、sql等。
import pandas as pd
# 从CSV文件中读取数据
df = pd.read_csv('file.csv')
# 将数据写入CSV文件中
df.to_csv('file.csv')
三、数据选择与操作
Pandas提供了多种方式进行数据的选择与操作。
import pandas as pd
# 创建一个数据集
data = {
'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 20],
'Country':['US', 'UK', 'US', 'UK']}
df = pd.DataFrame(data)
# 选择'Name'列
df['Name']
# 选择第0行
df.iloc[0]
# 选择满足条件的行
df[df.Age > 20]
# 对'Age'列进行求和
df['Age'].sum()
# 对'Country'列进行计数
df['Country'].value_counts()
Pandas的功能远不止这些,还包括合并、分组、缺失数据处理、数据透视表等高级功能,为数据处理和分析提供了强大的工具。