bamboolib
预览
此功能已在公共预览.
请注意
Databricks Runtime 11.0及以上版本支持bamboolib。
bamboolib是一个用户界面组件,允许从Databricks内部进行无代码数据分析和转换笔记本.Bamboolib帮助用户更轻松地处理数据,并加快常见的数据整理、探索和可视化任务。当用户用他们的数据完成这些任务时,bamboolib会自动生成Python后台代码。用户可以与其他人共享此代码,其他人可以在自己的笔记本中运行此代码,以快速重现那些原始任务。他们还可以使用bamboolib使用额外的数据任务来扩展这些原始任务,所有这些都不需要知道如何编码。那些有编码经验的人可以扩展这些代码来创建更复杂的结果。
在幕后,竹子的用途ipywidgets的交互式HTML小部件框架IPython内核.Ipywidgets运行在IPython内核.
需求
的
bamboolib
库必须对笔记本可用。你可以在工作区中安装库从PyPI,只在特定的集群上安装库从PyPI,或使库仅对特定的笔记本可用与%皮普
命令。
快速入门
创建Python笔记本。
在笔记本的第一个细胞,输入以下代码,然后运行细胞。这一步可以跳过,如果竹子是已经安装在工作区或集群中.
%皮普安装bamboolib
在笔记本的第二个单元格中,输入以下代码,然后运行单元格。
进口bamboolib作为bam
在笔记本的第三个单元格中,输入以下代码,然后运行该单元格。
bam
请注意
或者,你可以打印一个现有的熊猫数据框架来显示bamboolib以用于特定的DataFrame。
继续关键任务.
走查
你可以单独使用竹子或使用现有的熊猫数据框架.
竹子可以单独使用
在本演练中,您将使用bambolib在笔记本中显示示例销售数据集的内容。然后使用bamboolib自动为您生成的一些相关笔记本代码进行试验。最后,查询和排序销售数据集内容的副本。
创建Python笔记本。
在笔记本的第一个细胞,输入以下代码,然后运行细胞。这一步可以跳过,如果竹子是已经安装在工作区或集群中.
%皮普安装bamboolib
在笔记本的第二个单元格中,输入以下代码,然后运行单元格。
进口bamboolib作为bam
在笔记本的第三个单元格中,输入以下代码,然后运行该单元格。
bam
点击加载虚拟数据.
在加载虚拟数据窗格中,为加载用于测试bamboolib的虚拟数据集中,选择销售数据集.
点击执行.
在其中显示所有行item_type是婴儿食品:
在搜索行为列表中,选择过滤器的行.
在过滤器的行窗格,在选择上面的列表(在哪里),选择选择行.
在下面的列表中在哪里中,选择item_type.
在选择旁边的列表item_type中,选择有价值的(s).
在选择值(年代)旁边的方框有价值的(s)中,选择婴儿食品.
点击执行.
为这个查询复制自动生成的Python代码:
Cick复制代码下面是数据预览。
粘贴并修改代码:
在笔记本的第四个单元格中,粘贴您复制的代码。它应该是这样的:
进口熊猫作为pddf=pd.read_csv(bam.sales_csv)保留item_type为其中之一的行:Baby Fooddf=df.疯狂的[df[“item_type”].型号([“婴儿食品”)))
添加到此代码中,以便它只显示order_prio是C,然后运行单元格:
进口熊猫作为pddf=pd.read_csv(bam.sales_csv)保留item_type为其中之一的行:Baby Fooddf=df.疯狂的[df[“item_type”].型号([“婴儿食品”)))#添加以下代码。步骤:保留order_prio为其中之一的行df=df.疯狂的[df[“order_prio”].型号([“C”)))df
提示
不需要编写这段代码,还可以通过在第三个单元格中使用bamboolib来只显示这些行order_prio是C.这一步是扩展前面bamboolib自动生成的代码的一个示例。
对行进行排序地区按升序排列:
控件中的第四个单元格中的小部件中搜索行为列表中,选择行排序.
在分类列(年代)窗格,在选择列列表中,选择地区.
在旁边的列表里地区中,选择提升(a - z).
点击执行.
请注意
这相当于你自己写下面的代码:
df=df.sort_values(通过=[“地区”),提升=[真正的])df
你也可以在第三个单元格中使用bamboolib对行进行排序地区按升序排列。这一步演示了如何使用bamboolib扩展所编写的代码。当您使用bamboolib时,它会自动在后台为您生成额外的代码,这样您就可以进一步扩展已经扩展的代码!
继续关键任务.
使用bamboolib与现有的数据框架
在本演练中,您将使用bamboolib在笔记本中显示控件的内容熊猫DataFrame.此DataFrame包含示例销售数据集的副本。然后使用bamboolib自动为您生成的一些相关笔记本代码进行试验。您可以通过查询和排序DataFrame的一些内容来完成。
创建Python笔记本。
在笔记本的第一个细胞,输入以下代码,然后运行细胞。这一步可以跳过,如果竹子是已经安装在工作区或集群中.
%皮普安装bamboolib
在笔记本的第二个单元格中,输入以下代码,然后运行单元格。
进口bamboolib作为bam
在笔记本的第三个单元格中,输入以下代码,然后运行该单元格。
进口熊猫作为pddf=pd.read_csv(bam.sales_csv)df
注意竹叶只支持熊猫DataFrames.要将PySpark DataFrame转换为pandas DataFrame,请调用toPandasPySpark DataFrame。要将Spark DataFrame上的Pandas API转换为Pandas DataFrame,请调用to_pandasSpark DataFrame上的Pandas API。
点击显示竹子UI.
在其中显示所有行item_type是婴儿食品:
在搜索行为列表中,选择过滤器的行.
在过滤器的行窗格,在选择上面的列表(在哪里),选择选择行.
在下面的列表中在哪里中,选择item_type.
在选择旁边的列表item_type中,选择有价值的(s).
在选择值(年代)旁边的方框有价值的(s)中,选择婴儿食品.
点击执行.
为这个查询复制自动生成的Python代码。为此,单击复制代码下面是数据预览。
粘贴并修改代码:
在笔记本的第四个单元格中,粘贴您复制的代码。它应该是这样的:
保留item_type为其中之一的行:Baby Fooddf=df.疯狂的[df[“item_type”].型号([“婴儿食品”)))
添加到此代码中,以便它只显示order_prio是C,然后运行单元格:
保留item_type为其中之一的行:Baby Fooddf=df.疯狂的[df[“item_type”].型号([“婴儿食品”)))#添加以下代码。步骤:保留order_prio为其中之一的行df=df.疯狂的[df[“order_prio”].型号([“C”)))df
提示
不需要编写这段代码,还可以通过在第三个单元格中使用bamboolib来只显示这些行order_prio是C.这一步是扩展前面bamboolib自动生成的代码的一个示例。
对行进行排序地区按升序排列:
a.在第四个单元格中的小部件中,单击行排序.
在分类列(年代)窗格,在选择列列表中,选择地区.
在旁边的列表里地区中,选择提升(a - z).
点击执行.
请注意
这相当于你自己写下面的代码:
df=df.sort_values(通过=[“地区”),提升=[真正的])df
你也可以在第三个单元格中使用bamboolib对行进行排序地区按升序排列。这一步演示了如何使用bamboolib扩展所编写的代码。当您使用bamboolib时,它会自动在后台为您生成额外的代码,这样您就可以进一步扩展已经扩展的代码!
继续关键任务.
关键任务
将小部件添加到单元格中
场景:您希望bamboolib小部件显示在单元格中。
确保笔记本符合需求bamboolib。
若竹不是已经安装在工作区或集群中在笔记本的一个单元格中运行以下代码,最好是在第一个单元格中:
%皮普安装bamboolib
在笔记本中运行以下代码,最好是在笔记本的第一个或第二个单元格中:
进口bamboolib作为bam
选项1:在要显示小部件的单元格中,添加以下代码,然后运行单元格:
bam
小部件出现在代码下面的单元格中。
或者:
选项2类的引用的单元格中熊猫DataFrame,打印数据帧。例如,给定以下DataFrame定义,运行单元格:
进口熊猫作为pd从datetime进口datetime,日期df=pd.DataFrame({“一个”:[1,2,3.),“b”:[2.,3.,4.),“c”:[“string1”,“string2相等”,“string3”),' d ':[日期(2000,1,1),日期(2000,2,1),日期(2000,3.,1)),“e”:[datetime(2000,1,1,12,0),datetime(2000,1,2,12,0),datetime(2000,1,3.,12,0)]})df
小部件出现在代码下面的单元格中。
注意竹叶只支持熊猫DataFrames.要将PySpark DataFrame转换为pandas DataFrame,请调用toPandasPySpark DataFrame。要将Spark DataFrame上的Pandas API转换为Pandas DataFrame,请调用to_pandasSpark DataFrame上的Pandas API。
清除小部件
场景:您希望清除小部件的内容,然后将新数据读入现有小部件。
选项1:在包含目标小部件的单元格中运行以下代码:
bam
控件清除,然后重新显示数据:从DBFS中读取CSV文件,Databricks:加载数据库表,加载虚拟数据按钮。
请注意
如果错误的名字“砰”是不定义
出现时,在笔记本中运行以下代码(最好是在笔记本的第一个单元格中),然后重试:
进口bamboolib作为bam
选项2类的引用的单元格中熊猫DataFrame,通过再次运行单元格再次打印DataFrame。小部件清除,然后显示新数据。
数据加载任务
将示例数据集的内容读入小部件
场景:您希望将一些示例数据读入小部件,例如一些假装的销售数据,以便测试小部件的功能。
点击加载虚拟数据.
请注意
如果加载虚拟数据不可见,使用选项1清除小部件再试一次。
在加载虚拟数据窗格中,为加载用于测试bamboolib的虚拟数据集,选择要加载的数据集的名称。
为Dataframe名字,输入表内容的编程式标识符的名称为DataFrame,或离开df作为默认的编程标识符。
点击执行.
小部件显示数据集的内容。
提示
您可以切换当前小部件来显示不同示例数据集的内容:
在当前小部件中,单击加载虚拟数据选项卡。
按照前面的步骤将其他示例数据集的内容读入小部件。
将CSV文件的内容读入小部件
场景:您希望将Databricks工作空间内的CSV文件的内容读入小部件。
点击数据:从DBFS中读取CSV文件.
请注意
如果数据:从DBFS中读取CSV文件不可见,使用选项1清除小部件再试一次。
在从DBFS读取CSV窗格中,浏览到包含目标CSV文件的位置。
选择目标CSV文件。
为Dataframe名字,输入CSV文件内容的编程标识符名称,如DataFrame,或离开df作为默认的编程标识符。
为CSV值分隔符,输入CSV文件中分隔值的字符,或将,(逗号)字符作为默认值分隔符。
为十进制分隔符,在CSV文件中输入小数点之间的分隔字符,或将.(点)字符作为默认值分隔符。
为行限制:读取前N行-留空无限制,输入要读入小部件的最大行数,或者离开100000作为默认行数,或将此框保留为空以指定不限制行数。
点击打开CSV文件.
小部件根据您指定的设置显示CSV文件的内容。
提示
您可以切换当前小部件以显示不同CSV文件的内容:
在当前小部件中,单击从DBFS读取CSV选项卡。
按照前面的步骤将其他CSV文件的内容读入小部件。
将数据库表的内容读入小部件
场景:您希望将Databricks工作区中的数据库表的内容读入小部件。
点击Databricks:加载数据库表.
请注意
如果Databricks:加载数据库表不可见,使用选项1清除小部件再试一次。
在Databricks:加载数据库表窗格中,为数据库-默认数据库为空,输入目标表所在数据库的名称,或将此框保留为空以指定默认的数据库。
为表格,输入目标表的名称。
为行限制:读取前N行-留空无限制,输入要读入小部件的最大行数,或者离开100000作为默认行数,或将此框保留为空以指定不限制行数。
为Dataframe名字,输入表内容的编程式标识符的名称为DataFrame,或离开df作为默认的编程标识符。
点击执行.
小部件根据您指定的设置显示表的内容。
提示
你可以切换当前小部件来显示不同表格的内容:
在当前小部件中,单击Databricks:加载数据库表选项卡。
按照前面的步骤将其他表的内容读入小部件。
数据行动任务
Bamboolib提供超过50个数据操作。以下是一些比较常见的入门数据操作任务。
选择列
场景:您希望仅按名称、数据类型或匹配某些正则表达式显示特定的表列。例如,在假人中销售数据集时,您希望只显示item_type
而且sales_channel
列,或者只显示包含字符串的列_date
在他们的列名中。
在数据选项卡,在搜索行为下拉列表中,执行以下操作之一:
类型选择,然后选择选择或删除列.
选择选择或删除列.
在选择或删除列窗格,在选择下拉列表,选择选择.
选择目标列名或包含条件。
为Dataframe名字,输入表内容的编程式标识符的名称为DataFrame,或离开df作为默认的编程标识符。
点击执行.
删除列
场景:您希望按名称、数据类型或匹配某些正则表达式隐藏特定的表列。例如,在假人中销售数据集,你想隐藏order_prio
,order_date
,ship_date
列,或者您希望隐藏仅包含日期-时间值的所有列。
在数据选项卡,在搜索行为下拉列表中,执行以下操作之一:
类型下降,然后选择选择或删除列.
选择选择或删除列.
在选择或删除列窗格,在选择下拉列表,选择下降.
选择目标列名或包含条件。
为Dataframe名字,输入表内容的编程式标识符的名称为DataFrame,或离开df作为默认的编程标识符。
点击执行.
过滤器的行
场景:您希望根据匹配或缺失的特定列值等条件显示或隐藏特定的表行。例如,在假人中销售数据集时,您希望只显示item_type
列的值设置为婴儿食物
.
在数据选项卡,在搜索行为下拉列表中,执行以下操作之一:
类型过滤器,然后选择过滤器的行.
选择过滤器的行.
在过滤器的行窗格,在选择上面的下拉列表在哪里中,选择选择行或删除行.
指定第一个筛选条件。
如需添加其他筛选条件,请单击添加条件,并指定下一个过滤条件。重复以上步骤。
为Dataframe名字,输入表内容的编程式标识符的名称为DataFrame,或离开df作为默认的编程标识符。
点击执行.
行排序
场景:要根据一个或多个列中的值对表行进行排序。例如,在假人中销售数据集时,要显示通过地区
列的值按字母顺序从A到Z排列。
在数据选项卡,在搜索行为下拉列表中,执行以下操作之一:
类型排序,然后选择行排序.
选择行排序.
在分类列(年代)窗格中,选择要排序的第一列和排序顺序。
若要添加另一个排序条件,请单击添加一列,并指定下一个排序条件。重复以上步骤。
为Dataframe名字,输入表内容的编程式标识符的名称为DataFrame,或离开df作为默认的编程标识符。
点击执行.
分组行和列任务
通过单个聚合函数对行和列进行分组
场景:要按计算分组显示行和列结果,并且要为这些分组分配自定义名称。例如,在假人中销售数据集时,要按国家
列的值,显示包含相同值的行数国家
值,并给出计算计数列表的名称country_count
.
在数据选项卡,在搜索行为下拉列表中,执行以下操作之一:
类型集团,然后选择分组和聚合(使用重命名).
选择分组和聚合(使用重命名).
在通过列重命名分组窗格中,选择按第一个计算进行分组的列,并可选地为计算的列指定名称。
若要添加另一个计算,请单击添加计算,并指定下一个计算和列名。重复以上步骤。
指定存储结果的位置。
为Dataframe名字,输入表内容的编程式标识符的名称为DataFrame,或离开df作为默认的编程标识符。
点击执行.
通过多个聚合函数对行和列进行分组
场景:要按计算分组显示行和列结果。例如,在假人中销售数据集时,要按地区
,国家
,sales_channel
列的值,显示包含相同值的行数地区
而且国家
价值sales_channel
,以及total_revenue
通过独特的组合地区
,国家
,sales_channel
.
在数据选项卡,在搜索行为下拉列表中,执行以下操作之一:
类型集团,然后选择按和聚合分组(默认).
选择按和聚合分组(默认).
在通过列重命名分组窗格中,选择要分组的列和第一个计算。
若要添加另一个计算,请单击添加计算,并指定下一次计算。重复以上步骤。
指定存储结果的位置。
为Dataframe名字,输入表内容的编程式标识符的名称为DataFrame,或离开df作为默认的编程标识符。
点击执行.
删除缺少值的行
场景:您想要删除对指定列缺少值的任何行。例如,在假人中销售数据集时,您希望删除任何缺少item_type
价值。
在数据选项卡,在搜索行为下拉列表中,执行以下操作之一:
类型下降或删除,然后选择删除缺失值.
选择删除缺失值.
在删除缺失值窗格中,选择列以删除该列缺少值的任何行。
为Dataframe名字,输入表内容的编程式标识符的名称为DataFrame,或离开df作为默认的编程标识符。
点击执行.
删除重复的行
场景:您想要删除为指定列具有重复值的任何行。例如,在假人中销售数据集时,您希望删除彼此完全重复的任何行。
在数据选项卡,在搜索行为下拉列表中,执行以下操作之一:
类型下降或删除,然后选择删除/删除重复的.
选择删除/删除重复的.
在删除重复的窗格中,选择列以删除为这些列具有重复值的任何行,然后选择是否保留具有重复值的第一行或最后一行。
为Dataframe名字,输入表内容的编程式标识符的名称为DataFrame,或离开df作为默认的编程标识符。
点击执行.
查找并替换缺失的值
场景:您想用具有指定列的任何行的替换值替换缺失的值。例如,在假人中销售数据集中缺少值的任何行item_type
列的值为未知的项类型
.
在数据选项卡,在搜索行为下拉列表中,执行以下操作之一:
类型找到或取代,然后选择查找并替换缺失的值.
选择查找并替换缺失的值.
在替换缺失值窗格中,选择要为其替换缺失值的列,然后指定替换值。
点击执行.
创建列公式
场景:要创建使用唯一公式的列。例如,在假人中销售数据集,则要创建名为profit_per_unit
控件的除法结果total_profit
列的值。units_sold
每一行的列值。
在数据选项卡,在搜索行为下拉列表中,执行以下操作之一:
类型公式,然后选择新的列公式.
选择新的列公式.
在替换缺失值窗格中,选择要为其替换缺失值的列,然后指定替换值。
点击执行.
获取代码以编程方式将小部件的当前状态重新创建为DataFrame
场景:你想要获得Python代码,以编程方式重新创建当前小部件的状态,表示为熊猫数据帧。您希望在此工作簿的不同单元格或完全不同的工作簿中运行此代码。
点击获取代码.
在出口代码窗格中,单击复制代码.代码被复制到系统的剪贴板。
将代码粘贴到此工作簿中的其他单元格或其他工作簿中。
编写额外的代码以编程方式使用这个pandas DataFrame,然后运行单元格。例如,要显示DataFrame的内容,假设您的DataFrame以编程方式由
df
:#你粘贴的代码在这里,然后是…df
限制
使用bamboolib进行数据争论限制在大约1000万行。此限制基于pandas和集群的计算资源。
使用bamboolib进行数据可视化限制在大约10,000行。这个限制是基于情节的。