场景如下:我有一组具有 2 个属性的数据:年份和 (export/import) 年份有 3 个选择, (export/import) 有 2 个选择,总共有 3*2=6 个数据集。
1. 2015, imports
2. 2016, imports
3. 2017, imports
4. 2015, exports
5. 2016, exports
6. 2017, exports
Run Code Online (Sandbox Code Playgroud)
我以前的做法是为每个数据集添加一个图例,这样总共有 6 个图例。当我点击一个图例时,例如 2015 导出,只有 1 行被隐藏。其他带有关键字 2015 或“exports”的行仍然可见。我想知道是否有一种可行的方法可以只生成 2+3=5 个图例,2015,2016,2017,exports 和 imports。当我点击 2015 时,属于 2015 的所有 3 个数据集都被隐藏了。然后,如果我进一步单击“导入”,则所有属于“导入”的数据集都将被隐藏。此时,只有 2 个数据集可见:
1. 2016, exports
2. 2016, imports
Run Code Online (Sandbox Code Playgroud)
(推理是 1。它线性增长 2。它为数据集提供了另一个视角)
我有一个当前情况的工作示例,其中包含 6 个图例:
from bokeh.io import output_file, show, output_notebook, reset_output
from bokeh.models import ColumnDataSource
from bokeh.palettes import GnBu3, OrRd3 …Run Code Online (Sandbox Code Playgroud) 我需要组合两个大型数据框,现在需要几个小时。我想知道是否有更快的方法来做到这一点。下面是示例:df1 包含一些关于衬衫的信息,而 df2 包含关于裤子的信息。我想将它们合并到一个显示所有有效组合的新数据框中。被认为有效的是班次和裤子的“尺寸”和“性别”应该相同,而它们的颜色可以推迟。这是一个简化的示例(实际情况是 df1 和 df2 都可以是 10k 行)
import pandas as pd
import itertools
list_color = ['black','white']
list_size = ['S','M','L']
list_gender = ['M','F']
list_shirts_price = [11,12,13,14,15,16,17,18]
lists_shirts = [list_color, list_size, list_gender]
list_pants_price = [21,22,23,24,25,26,27,28]
lists_pants = [list_color, list_size, list_gender]
df_shirts = pd.DataFrame(list(itertools.product(*lists_shirts)), columns=['Color', 'Size', 'Gender','Price'])
df_shirts['Price'] = list_shirts_price
df_pants = pd.DataFrame(list(itertools.product(*lists_pants)), columns=['Color', 'Size', 'Gender','Price'])
df_pants['Price'] = list_pants_price
Run Code Online (Sandbox Code Playgroud)
df_衬衫:
| 颜色 | 尺寸 | 性别 | 价钱 | |
|---|---|---|---|---|
| 0 | 黑色的 | 秒 | 米 | 11 |
| 1 | 黑色的 | 秒 | F | 12 |
| 2 | 黑色的 | 升 | 米 | 13 |
| 3 … |