# Step: Keep rows where item_type is one of: Baby Food
df = df.loc[df['item_type'].isin(['Baby Food'])]
# Add the following code.
# Step: Keep rows where order_prio is one of: C
df = df.loc[df['order_prio'].isin(['C'])]
除了编写此代码,还可通过在第三个单元格中使用 bamboolib 仅显示 order_prio 为 C 的行来执行相同的操作。此步骤是扩展 bamboolib 之前自动生成的代码的示例。
按区域按升序对行进行排序:
a. 在第四个单元格中的小组件中,单击“对行进行排序”。
在“对列进行排序”窗格中的“选择列”列表中,选择“区域”。
在“区域”旁边的列表中,选择“升序(A-Z)”。
单击“执行” 。
这相当于自己编写以下代码:
df = df.sort_values(by=['region'], ascending=[True])
还可仅使用第三个单元格中的 bamboolib 按区域按升序对行进行排序。 此步骤演示如何使用 bamboolib 扩展你编写的代码。 使用 bamboolib 时,它会在后台自动生成其他代码,以便进一步扩展已扩展的代码!
继续执行关键任务。
本节内容:
将小组件添加到单元格
清除小组件
数据加载任务
数据操作任务
数据操作历史记录任务
获取代码以编程方式重新创建小组件的当前状态作为数据帧
场景:你希望 bamboolib 小组件显示在单元格中。
确保笔记本满足 bamboolib 的要求。
如果 bamboolib 尚未安装在工作区或群集中,请在笔记本的单元格中运行以下代码,最好在第一个单元格中运行:
%pip install bamboolib
在笔记本中运行以下代码,最好是在笔记本的第一个或第二个单元格中运行:
import bamboolib as bam
选项 1:在你希望在其中显示小组件的单元格中,添加以下代码,然后运行该单元格:
小组件显示在代码下方的单元格中。
选项 2:在包含对 pandas 数据帧的引用的单元格中,打印数据帧。 例如,给定以下数据帧定义,运行该单元格:
import pandas as pd
from datetime import datetime, date
df = pd.DataFrame({
'a': [ 1, 2, 3 ],
'b': [ 2., 3., 4. ],
'c': [ 'string1', 'string2', 'string3' ],
'd': [ date(2000, 1, 1), date(2000, 2, 1), date(2000, 3, 1) ],
'e': [ datetime(2000, 1, 1, 12, 0), datetime(2000, 1, 2, 12, 0), datetime(2000, 1, 3, 12, 0) ]
小组件显示在代码下方的单元格中。
请注意,bamboolib 仅支持 pandas 数据帧。 若要将 PySpark 数据帧转换为 pandas 数据帧,请调用 PySpark 数据帧上的 toPandas。 若要将 PySpark 数据帧上的 Pandas API 转换为 pandas 数据帧,请调用 PySpark 数据帧上 Pandas API 上的 to_pandas。
场景:你想要清除小组件的内容,然后将新数据读入现有小组件。
选项 1:在包含目标小组件的单元格中运行以下代码:
小组件将被清除并重新播放“Databricks: 从 DBFS 中读取 CSV 文件”、“Databricks: 加载数据库表”和“加载虚拟数据”按钮。
如果出现此错误 name 'bam' is not defined,请在笔记本中运行以下代码(最好是在笔记本的第一个单元格中运行),然后重试:
import bamboolib as bam
选项 2:在包含对 pandas 数据帧的引用的单元格中,通过再次运行此单元格,打印该数据帧。 小组件将被清除并显示新数据。
数据加载任务
本节内容:
将示例数据集的内容读入小组件
将 CSV 文件的内容读入小组件
将数据集表的内容读入小组件
将示例数据集的内容读入小组件
场景:你想要将一些示例数据读入小组件,例如一些虚拟销售数据,以便测试小组件的功能。
单击“加载虚拟数据”。
如果“加载虚拟数据”不可见,请清除具有选项 1 的小组件,然后重试。
在“加载虚拟数据”窗格中,对于“加载用于测试 bamboolib 的虚拟数据集”,请选择要加载的数据集的名称。
对于“数据帧名称”,输入表内容的编程标识符的名称作为数据帧,或将 df 保留为默认编程标识符。
单击“执行” 。
小组件显示数据集的内容。
可以切换当前小组件以显示其他示例数据集的内容:
在当前小组件中,单击“加载虚拟数据”选项卡。
按照前面的步骤将其他示例数据集的内容读取到小组件中。
将 CSV 文件的内容读入小组件
场景:你想要将 Azure Databricks 工作区中的 CSV 文件的内容读取到小组件中。
单击“Databricks: 从 DBFS 中读取 CSV 文件”。
如果“Databricks: 从 DBFS 中读取 CSV 文件”不可见,请清除具有选项 1 的小组件,然后重试。
在“从 DBFS 中读取 CSV”窗格中,浏览到包含目标 CSV 文件的位置。
选择目标 CSV 文件。
对于“数据帧名称”,输入 CSV 文件内容的编程标识符的名称作为数据帧,或将 df 保留为默认编程标识符。
对于“CSV 值分隔符”,请输入分隔 CSV 文件中的值的字符,或将逗号 (,) 字符保留为默认值分隔符。
对于“小数点分隔符”,请输入分隔 CSV 文件中的小数的字符,或将句点 (.) 字符保留为默认值分隔符。
对于“行限制: 读取前 N 行 - 留空表示不受限制”,输入要读入小组件的最大行数,或将 100000 保留为默认行数,或将此框留空以指定没有行限制。
单击“打开 CSV 文件”。
小组件根据指定的设置显示 CSV 文件的内容。
可以切换当前小组件以显示其他 CSV 文件的内容:
在当前小组件中,单击“从 DBFS 中读取 CSV”选项卡。
按照前面的步骤将其他 CSV 文件的内容读取到小组件中。
将数据集表的内容读入小组件
场景:你想要将 Azure Databricks 工作区中的数据集表的内容读取到小组件中。
单击“Databricks: 加载数据库表”。
如果“Databricks: 加载数据库表”不可见,请清除具有选项 1 的小组件,然后重试。
在“Databricks: 加载数据库表”窗格中,对于“数据库 - 留空表示默认数据库”,请输入目标表所在的数据库的名称,或将此框留空以指定默认数据库。
对于“表”,请输入目标表的名称。
对于“行限制: 读取前 N 行 - 留空表示不受限制”,输入要读入小组件的最大行数,或将 100000 保留为默认行数,或将此框留空以指定没有行限制。
对于“数据帧名称”,输入表内容的编程标识符的名称作为数据帧,或将 df 保留为默认编程标识符。
单击“执行” 。
小组件根据指定的设置显示表的内容。
可以切换当前小组件以显示其他表的内容:
在当前小组件中,单击“Databricks: 加载数据库表”选项卡。
按照前面的步骤将其他表的内容读取到小组件中。
数据操作任务
bamboolib 提供 50 多个数据操作。 下面是一些较常见的入门数据操作任务。
本节内容:
对行进行排序
对行和列进行分组的任务
删除包含缺失值的行
删除重复行
查找并替换缺失值
创建列公式
场景:你希望按名称、数据类型或以匹配某些正则表达式的方式仅显示特定的表列。 例如,在虚拟“Sales 数据集”中,你希望仅显示 item_type 和 sales_channel 列,或者只显示列名称中包含字符串 _date 的列。
在“数据”选项卡上的“搜索操作”下拉列表中,执行下列操作之一:
- 键入 select,然后选择“选择或删除列”。
- 选择“选择或删除列”。
- 在“选择或删除列”窗格中的“选择”下拉列表中,选择“选择”。
- 选择目标列名或包含条件。
- 对于“数据帧名称”,输入表内容的编程标识符的名称作为数据帧,或将 df 保留为默认编程标识符。
- 单击“执行” 。
场景:你希望按名称、数据类型或以匹配某些正则表达式的方式隐藏特定的表列。 例如,在虚拟“Sales 数据集”中,你希望隐藏 order_prio、order_date 和 ship_date 列,或者希望隐藏仅包含日期时间值的所有列。
- 在“数据”选项卡上的“搜索操作”下拉列表中,执行下列操作之一: