Python数据挖掘Pandas详解
什么是Pandas
Pandas是一种Python库,用于快速、易于操作、灵活且有表现力的数据结构,适用于广泛的数据任务。Pandas的主要目的是为了处理结构化数据,尤其是表格型数据,但它也可以处理时间序列数据等等。
安装Pandas
在安装Pandas之前,请先确保你已经安装了Python。
使用以下命令可以安装Pandas:
pip install pandas
Pandas的数据结构
Pandas提供了两种基本的数据结构:Series和DataFrame。
Series
Series是一种一维数组,可以存储整数、浮点数和字符串等类型的数据。Series具有索引,在Series中取值时,可以使用索引来获取。以下是创建Series的示例:
import pandas as pd
# 根据列表创建Series
num_list = [1,2,3,4,5]
num_series = pd.Series(num_list)
print(num_series)
# 根据字典创建Series
name_dict = {'Tom':60, 'Jim':70, 'Lucy':80}
name_series = pd.Series(name_dict)
print(name_series)
输出结果:
0 1
1 2
2 3
3 4
4 5
dtype: int64
Tom 60
Jim 70
Lucy 80
dtype: int64
DataFrame
DataFrame是一种二维表格型的数据结构。可以将DataFrame看作是一组Series组成的字典,Series的长度相同。DataFrame具有行和列的索引,可以执行许多操作,例如重建索引、按值排序、选取、插入、删除、合并、统计等。以下是创建DataFrame的示例:
import pandas as pd
# 创建DataFrame
data = {'name':['Tom', 'Jim', 'Lucy'], 'score':[60, 70, 80]}
df = pd.DataFrame(data)
print(df)
输出结果:
name score
0 Tom 60
1 Jim 70
2 Lucy 80
Pandas的数据操作
Pandas可以执行许多数据操作,例如筛选、分组、排序、连接、聚合等。
筛选
Pandas中可以使用loc()和iloc()函数切片操作,与Python List或Numpy Arrays非常相似。loc()函数根据行标签和列标签选择数据,而iloc()函数根据整数位置选择数据。
以下示例演示如何使用loc()和iloc()函数进行数据筛选:
import pandas as pd
# 创建DataFrame
data = {'name':['Tom', 'Jim', 'Lucy'], 'score':[60, 70, 80]}
df = pd.DataFrame(data)
# 筛选列
print(df['name'])
# 筛选行
print(df.loc[0])
# 筛选行和列
print(df.loc[0]['name'])
输出结果:
0 Tom
1 Jim
2 Lucy
Name: name, dtype: object
name Tom
score 60
Name: 0, dtype: object
Tom
分组
使用Pandas的groupby()函数可以将数据集分组为不同的组,然后对每个组进行操作。
以下示例演示如何使用groupby()函数进行分组:
import pandas as pd
# 创建DataFrame
data = {'name':['Tom', 'Jim', 'Lucy'], 'subject':['Math', 'Chinese', 'English'], 'score':[60, 70, 80]}
df = pd.DataFrame(data)
# 按科目分组,求平均值
grouped = df.groupby('subject')
print(grouped.mean())
输出结果:
score
subject
Chinese 70
English 80
Math 60
总结
Pandas是一个强大的Python库,用于处理结构化、表格型数据,具有良好的灵活性和易用性。在上面的示例中,我们了解了Pandas的基本数据结构、如何使用Pandas进行数据筛选和分组。掌握了这些基础知识,我们可以使用Pandas轻松地处理和分析数据。