pandas库介绍
Pandas是Python语言的一个扩展程序库,主要用于数据分析。它提供了高性能、易于使用的数据结构和数据分析工具。以下是关于Pandas库的一些介绍:
- 起源和名称:Pandas库由Wes McKinney于2008年创建,名称来源于“panel data”(面板数据)和“Python data analysis”(Python数据分析)的缩写。
- 主要数据结构:Pandas库的主要数据结构包括DataFrame和Series。DataFrame类似于电子表格或SQL表格,是二维的数据结构,具有行和列。每一列可以包含不同类型的数据(整数、浮点数、字符串等)。Series则是一维的数据结构,类似于数组或列表,但具有标签,可以通过标签进行索引。
- 特点:Pandas具有多种优势。它能够自动对齐不同索引的数据,方便数据操作;提供强大的工具来处理缺失值,包括删除、填充等操作;支持各种数据分析和统计计算,如平均值、中位数、标准差等;可以读取和写入多种数据格式,包括CSV、Excel、SQL数据库、JSON等;提供丰富的数据清洗和转换函数,用于数据的预处理和整理。
- 依赖关系:Pandas基于高性能数学运算库Numpy,支持从各种文件格式如CSV、JSON、SQL等进行数据分析。
- 更多详情可查看链接:Pandas简介 - 知乎 (zhihu.com)
读取外部数据
Pandas库提供了多种方法来读取外部数据。以下是一些常见的方法:
-
从CSV文件读取数据:
import pandas as pd df = pd.read_csv('file.csv')
-
从Excel文件读取数据:
import pandas as pd df = pd.read_excel('file.xlsx')
-
从SQL数据库读取数据:
import pandas as pd import sqlalchemy engine = sqlalchemy.create_engine('sqlite:///database.db') df = pd.read_sql_query('SELECT * FROM table', engine)
-
从JSON文件读取数据:
import pandas as pd df = pd.read_json('file.json')
这些方法都返回一个DataFrame对象,其中包含了读取的数据。可以根据需要选择适合的方法来读取外部数据。
series序列对象
Pandas中的Series对象是一种一维数组,具有标签化的数据结构。每个Series对象都有一个索引和一个值序列。索引类似于行标签,而值序列类似于列数据。以下是Series对象的一些常见用法:
创建Series对象:
import pandas as pd
# 创建一个简单的Series对象
s = pd.Series([1, 2, 3, 4, 5])
print(s)
# 创建一个带有索引的Series对象
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
print(s)
访问Series对象的值:
# 通过索引访问值
print(s['a']) # 输出:1
# 通过位置索引访问值
print(s[0]) # 输出:1
修改Series对象的值:
# 直接赋值来修改值
s[1] = 100
print(s) # 输出:[100 2 3 4 5]
使用标签进行数据操作:
# 使用标签进行过滤和选择数据
print(s[s > 2]) # 输出:[100 4 5]
对Series对象进行统计计算:
# 计算平均值、中位数、标准差等统计量
print(s.mean()) # 输出:3.6
print(s.median()) # 输出:3.0
print(s.std()) # 输出:2.8775825011986415
这只是Series对象的一些基本用法,Pandas还提供了许多其他功能和操作,使得处理和分析数据变得更加简单和高效。
DataFrame表格对象
Pandas中的DataFrame对象是一种二维的表格型数据结构,类似于电子表格或SQL表。每个DataFrame对象由多个列组成,每列可以是不同的数据类型(如整数、浮点数、字符串等)。DataFrame对象还具有行索引和列索引,可以方便地对数据进行访问和操作。
以下是一些关于DataFrame对象的基本用法:
创建DataFrame对象:
import pandas as pd
# 创建一个简单的DataFrame对象
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
print(df)
访问DataFrame对象的值:
# 通过列名访问值
print(df['A']) # 输出:[1 2 3]
# 通过位置索引访问值
print(df.iloc[0]) # 输出:['A' 1 'B' 4 'C' 7]
修改DataFrame对象的值:
# 直接赋值来修改值
df.loc[0, 'A'] = 100
print(df) # 输出:
# A B C
# 0 100 4 7
# 1 2 5 8
# 2 3 6 9
使用条件过滤数据:
# 使用条件过滤数据并选择满足条件的行和列
print(df[df['A'] > 2]) # 输出:
# A B C
# 1 2 5 8
# 2 3 6 9
这只是DataFrame对象的一些基本用法,Pandas还提供了许多其他功能和操作,使得处理和分析数据变得更加简单和高效。
可视化大屏
Pandas本身不直接提供可视化大屏的功能,它是一个数据处理库,主要专注于数据处理和分析方面。但是,你可以结合其他可视化库如Matplotlib、Seaborn、Plotly等来创建可视化大屏。
以下是一个使用Matplotlib和Pandas创建简单可视化大屏的示例:
-
导入必要的库:
import pandas as pd import matplotlib.pyplot as plt
-
创建数据:
data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, 35, 40], 'Salary': [50000, 60000, 70000, 80000] } df = pd.DataFrame(data)
-
创建图表:
plt.figure(figsize=(12, 6)) plt.bar(df['Name'], df['Salary']) plt.xlabel('Name') plt.ylabel('Salary') plt.title('Salary by Name') plt.show()
以上代码将创建一个简单的柱状图,展示每个人的姓名和对应的薪水。你可以根据需要扩展和修改这个示例,创建更复杂的可视化大屏。
例子
要求图形是2*2排布的,有一个大屏标题
建议使用百分比形式的参数值调整图形大小和位置:
可能遇到的问题:
1、page组件创建失败,报错内容:jinja2.exceptions.TemplateAssertionError:no test named ''false'
解决方案:
(1)anaconda prompt中更新jinja2库:pip install --upgrade jinja2
(2)在jupyter目录shutdown当前的jupyter文件,重新启动
结果如图