Pandas简介
Pandas是一个基于Python编程语言的开源数据处理和分析库,它提供了高效、灵活和易于使用的数据结构,使得数据操作变得简单而强大。Pandas的核心数据结构是两个主要的对象:Series和DataFrame。
Series:是一维带标签的数组,可以容纳不同类型的数据。它类似于带有标签的数组或简单的列。
DataFrame:是一个二维表格,可以容纳不同类型的数据。它类似于电子表格或关系型数据库中的表,每列可以具有不同的数据类型。
Pandas提供了丰富的功能和工具,用于数据清洗、转换、分析和可视化。以下是一些Pandas的常用功能:
数据读取和写入:Pandas可以从各种数据源中读取数据,如CSV文件、Excel文件、数据库查询等。同样,它也可以将处理后的数据保存到不同的格式中。
数据清洗和预处理:Pandas提供了强大的工具来处理缺失值、重复数据、异常值等。它还支持数据类型转换、重命名列、删除和添加列等操作。
数据选择和筛选:Pandas允许你使用类似SQL的语法来选择和筛选数据。你可以根据行、列、条件等进行数据切片和索引。
数据聚合和分组:Pandas可以根据指定的标准对数据进行分组,并执行聚合函数(如求和、平均值、计数等)。
数据可视化:Pandas结合了Matplotlib等库的功能,可以轻松地创建各种类型的图表和可视化展示,包括线图、柱状图、散点图等。
总之,Pandas是一个功能强大的数据处理和分析库,它在数据科学、机器学习和金融领域等许多领域都被广泛使用。它的直观和灵活的接口使得数据操作变得简单,并提供了丰富的功能来处理和分析结构化数据。
Pandas提供了多种方法来读取不同类型的数据。下面是一些常见的数据读取方法:
Pandas 读取数据
读取CSV文件:
1
2
3import pandas as pd
df = pd.read_csv('file.csv')上述代码将从名为”file.csv”的CSV文件中读取数据,并将其存储在一个DataFrame对象中。
读取Excel文件:
1
2
3import pandas as pd
df = pd.read_excel('file.xlsx', sheet_name='Sheet1')上述代码将从名为”file.xlsx”的Excel文件中读取名为”Sheet1”的工作表,并将数据存储在一个DataFrame对象中。
读取SQL数据库:
首先,需要安装pandas和适当的数据库驱动程序(如pandas自带的sqlite3)。1
2
3
4
5
6
7
8
9
10
11
12import pandas as pd
import sqlite3
# 连接数据库
conn = sqlite3.connect('database.db')
# 读取数据
query = "SELECT * FROM table_name"
df = pd.read_sql_query(query, conn)
# 关闭数据库连接
conn.close()上述代码连接到名为”database.db”的SQLite数据库,从名为”table_name”的表中读取数据,并将其存储在DataFrame对象中。
这只是一些常见的读取数据的方法,Pandas还支持其他各种数据源和格式,如JSON、HTML、HDF5等。无论你使用哪种方法,读取的数据将存储在一个DataFrame对象中,方便进行后续的数据处理和分析。
Pandas两种主要数据结构
Pandas提供了两种主要的数据结构:Series和DataFrame。
Series:
- Series是一维带标签的数组,可以容纳不同类型的数据。它由两部分组成:索引和数据。
- 索引是标签或整数,用于访问和操作Series中的数据。
- 创建Series的方式可以是通过传递列表、数组或字典来构建。例如:
1
2
3
4
5
6
7
8import pandas as pd
# 通过列表创建Series
s = pd.Series([1, 3, 5, np.nan, 6, 8])
# 通过字典创建Series
data = {'apple': 2, 'banana': 4, 'orange': 7}
s = pd.Series(data)
DataFrame:
- DataFrame是一个二维的表格型数据结构,由行和列组成。类似于电子表格或关系型数据库中的表。
- DataFrame提供了一个灵活的方法来处理和分析结构化数据,每列可以包含不同的数据类型。
- 可以通过多种方式创建DataFrame,如从CSV、Excel、数据库等读取数据,或者直接从NumPy数组或字典创建。例如:
1
2
3
4
5
6
7
8
9
10import pandas as pd
# 从字典创建DataFrame
data = {'Name': ['John', 'Emily', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'London']}
df = pd.DataFrame(data)
# 从CSV文件读取数据创建DataFrame
df = pd.read_csv('data.csv')
DataFrame具有许多有用的功能,例如列选择、行选择、条件筛选、数据聚合等。它还提供了强大的数据清洗和转换工具,使数据处理变得更加高效和方便。
Pandas 查询和筛选数据
在Pandas中,你可以使用不同的方法来查询和筛选数据。下面是一些常用的数据查询方法:
列选择:
- 选择单列:使用DataFrame的列名,可以通过
df['列名']或df.列名来选择单列数据。 - 选择多列:传递一个列名的列表,可以通过
df[['列名1', '列名2', ...]]来选择多列数据。
- 选择单列:使用DataFrame的列名,可以通过
行选择:
- 通过索引选择:使用
df.loc[索引]方法,可以根据索引选择指定行的数据。 - 通过位置选择:使用
df.iloc[位置]方法,可以根据位置选择指定行的数据。 - 通过条件筛选:使用布尔条件来筛选行数据,例如
df[条件]。条件可以是单个条件或组合条件,如df[df['列名'] > 5]。
- 通过索引选择:使用
条件筛选:
- 使用布尔条件:通过在DataFrame中使用布尔条件,可以筛选满足条件的数据。
- 使用比较操作符:可以使用比较操作符(如
>,<,==等)来进行条件筛选。
多重条件筛选:
- 使用逻辑操作符:可以使用逻辑操作符(如
&表示与,|表示或,~表示非)来组合多个条件进行筛选。 - 使用
df.query()方法:df.query('条件')方法提供了一种简洁的方式来执行多条件筛选。
- 使用逻辑操作符:可以使用逻辑操作符(如
使用函数进行筛选:
- 使用
df.apply()方法:可以使用自定义函数,对DataFrame的每一行或每一列进行操作和筛选。 - 使用
df.isin()方法:可以通过传递一个列表或Series,筛选包含在列表中的值的数据。
- 使用
这些是Pandas中常用的数据查询方法,它们提供了灵活的方式来选择和筛选数据,以满足各种分析和处理需求。你可以根据具体的需求选择适合的查询方法,并结合适当的条件进行数据筛选。