python - 将源数据从 Numpy 数组转换为列表的最 Pythonic 方式
问题描述
我正在读取一个 Excel 文件并创建一个 Pandas 数据框,如下所示:
source_data = pd.read_excel('source_data.xlsx')
数据类似于以下内容:
df = pd.DataFrame({'Manufacturer':['<null', 'Mercedes', 'BMW', 'Audi', 'Audi', 'Audi', 'Audi', 'Audi', 'Mercedes', 'BMW'],
'Color':['Purple', '<null>', '<null>', 'Blue', 'Green', 'Green', 'Black', 'White', 'Gold', 'Tan']})
然后我使用以下内容获取颜色的唯一值:
colors = df[df.Color.notna() & df.Manufacturer.eq('Audi')]['Color'].unique().tolist()
当我打电话时:
type(colors)
我看到 Python 正在将其转换为 numpy 数组:
numpy.ndarray
我真的需要colors
成为一个list
(这样我就可以将它传递到 Plotly 图表的 x 轴),这很容易做到以下几点:
colors = df[df.Color.notna() & df.Manufacturer.eq('Audi')]['Color'].unique().tolist()
我的问题是:
1)为什么首先将其转换为 Numpy 数组?(我在任何地方都不叫 Numpy)
2) 是否有一种 Pythonic 方式来引入数据并将其转换为列表而不进行预处理?
提前致谢!
解决方案
推荐阅读
- django - 使用 django-fsm 判断对象的状态
- sql - 我应该写什么查询来访问信息
- python - 如何分配作为 Python 关键字的 gRPC 消息
- spring - 在春季登录表单中查找密码时出错
- html - 如何向特定用户显示特定网页
- sql - SQL查询比较2个日期值
- javascript - 如何在 IF 和 ELSE 都为真的 Blogger 中的 if 语句中中断语句?
- python - 如何在 VSCode 中运行 python3 代码?/bin/sh: 1: python: 未找到
- javascript - 如何在 Vue.js 中触发对动态元素的点击?
- json - 用 HTML 和 CSS 替换 JSON 结果中的值