Python机器学习三大件之二pandas
一、Pandas
Pandas是一个强大的数据分析库,它广泛应用于数据清洗、数据分析、数据可视化等领域。它是Python机器学习三大件之一。在数据分析过程中,我们常常需要做数据清洗、处理缺失值、合并数据、分组聚合、时间序列处理等各种操作,而Pandas可以帮助我们更加高效地完成这些操作。Pandas主要提供了两种数据类型:Series和DataFrame,其中Series是一维数组,DataFrame是二维表结构。
二、安装Pandas
使用pip命令安装最新版的Pandas:
pip install pandas
三、Pandas的组成
Pandas主要由三个核心组件组成: Series、DataFrame及Index。其中Index是用于标记行和列的轴标签。
1.Series
Series是一种类似于一维数组的对象,它通常由数据值和一组与之相关的标签(即索引)组成。Series可以存储任何数据类型(整数、字符串、浮点数、Python对象等),并且可以通过索引进行快速访问。
下面示例代码创建了一个Series对象:
import pandas as pd
s = pd.Series([1, 3, 5, 7, 9])
print(s)
输出结果:
0 1
1 3
2 5
3 7
4 9
dtype: int64
可以看到,Series对象包括两部分:索引和对应的值。
除了通过位置索引获取Series中的值,我们还可以通过自定义索引获取指定位置的值:
import pandas as pd
s = pd.Series([1, 3, 5, 7, 9], index=['a', 'b', 'c', 'd', 'e'])
print(s)
print(s['c'])
输出结果:
a 1
b 3
c 5
d 7
e 9
dtype: int64
5
2.DataFrame
DataFrame是一个表格型的数据结构,它含有一组有序的列(类似于数据库中的表格),每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引,也有列索引,可以看作由Series组成的字典。
下面示例代码创建了一个DataFrame对象:
import pandas as pd
data = {'name': ['Tom','Jerry','Peter','Sophia'], 'age': [18,23,25,32], 'gender': ['M','M','M','F']}
df = pd.DataFrame(data)
print(df)
输出结果:
name age gender
0 Tom 18 M
1 Jerry 23 M
2 Peter 25 M
3 Sophia 32 F
可以看到,DataFrame对象中包括了表头和具体数据,表头就是DataFrame的列索引。我们可以通过列索引获取指定列的数据:
import pandas as pd
data = {'name': ['Tom','Jerry','Peter','Sophia'], 'age': [18,23,25,32], 'gender': ['M','M','M','F']}
df = pd.DataFrame(data)
print(df['name'])
输出结果:
0 Tom
1 Jerry
2 Peter
3 Sophia
Name: name, dtype: object
我们还可以通过切片操作获取指定行的数据:
import pandas as pd
data = {'name': ['Tom','Jerry','Peter','Sophia'], 'age': [18,23,25,32], 'gender': ['M','M','M','F']}
df = pd.DataFrame(data)
print(df[0:2])
输出结果:
name age gender
0 Tom 18 M
1 Jerry 23 M
3.Index
Index是一种不可变数组,它用于存储轴标签(即行标签或列标签)。Index对象可以被看作是Series和DataFrame中行和列标签的抽象表示。
下面示例代码构造一个DataFrame对象时使用了自定义的Index:
import pandas as pd
data = {'name': ['Tom','Jerry','Peter','Sophia'], 'age': [18,23,25,32], 'gender': ['M','M','M','F']}
index = ['a', 'b', 'c', 'd']
df = pd.DataFrame(data, index=index)
print(df)
输出结果:
name age gender
a Tom 18 M
b Jerry 23 M
c Peter 25 M
d Sophia 32 F
四、Pandas的应用
1.读取和写入数据
Pandas可以读取和写入多种格式的数据文件,包括CSV、Excel、JSON、SQL等。
下面示例代码读取了一个名为data.csv的CSV文件:
import pandas as pd
data = pd.read_csv('data.csv')
print(data)
输出结果:
id name age gender
0 1 Tom 18 M
1 2 Jerry 23 M
2 3 Peter 25 M
3 4 Sophia 32 F
2.数据清洗
在实际数据分析过程中,我们常常需要对数据进行清洗,例如移除重复数据、处理缺失值等。Pandas提供了丰富的函数来执行这些操作。
下面示例代码演示了如何使用Pandas移除重复数据:
import pandas as pd
data = pd.read_csv('data.csv')
data = data.drop_duplicates()
print(data)
输出结果:
id name age gender
0 1 Tom 18 M
1 2 Jerry 23 M
2 3 Peter 25 M
3 4 Sophia 32 F
3.数据切片和过滤
Pandas提供了丰富的数据切片和过滤函数,可以帮助我们很方便地提取所需的数据。
下面示例代码演示了如何使用Pandas过滤出年龄大于20岁的数据:
import pandas as pd
data = pd.read_csv('data.csv')
data = data[data['age'] > 20]
print(data)
输出结果:
id name age gender
1 2 Jerry 23 M
2 3 Peter 25 M
3 4 Sophia 32 F
4.数据聚合
Pandas提供了丰富的数据聚合函数,例如count、sum、mean等,可以帮助我们对数据进行快速分组汇总。
下面示例代码演示了如何使用Pandas对数据进行分组和求和:
import pandas as pd
data = pd.read_csv('data.csv')
sum_data = data.groupby('gender').sum()
print(sum_data)
输出结果:
id age
gender
F 4 32
M 6 66
五、小结
Pandas是Python机器学习三大件之一,它提供了丰富的数据分析和处理功能。我们可以使用Pandas读取和写入多种格式的数据文件,执行数据清洗、数据切片、数据过滤、数据聚合等各种操作。
本文中我们介绍了Pandas的核心组件Series、DataFrame和Index,并演示了Pandas的应用示例。通过学习本文,你应该对Pandas有了更深刻地理解,更好地应用它进行数据分析。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python机器学习三大件之二pandas - Python技术站