python - 关于熊猫的问题-> 忽略的异常:不可散列的类型:'numpy.ndarray'
问题描述
我通过按两个值分组创建了一个 pandas DataFrame,并收到了一个类似于下面的表:
名 | A栏 |
---|---|
塞缪尔 | [1,2,3] |
约书亚 | [4,5,6] |
理查德 | [7,8,9] |
迈克尔 | [7,8,9] |
亨利 | [7,8,9] |
接下来,我按 A 列分组以计算每个数字列表有多少个唯一的名字,并收到以下错误:
Exception ignored in: 'pandas._libs.index.IndexEngine._call_map_locations' Traceback (most recent call last): File "pandas\_libs\hashtable_class_helper.pxi", line 4588, in > pandas._libs.hashtable.PyObjectHashTable.map_locations TypeError: unhashable type: 'numpy.ndarray'
当我返回一个索引为 numpy 数组类型的熊猫系列时,我感到很困惑。为什么在这种情况下忽略了异常?
解决方案
尝试通过df['Column A'].map(tuple)
或将列表转换为元组df['Column A'].map(str)
df.groupby(df['Column A'].map(tuple))['First Name'].unique()
Column A
(1, 2, 3) [Samuel]
(4, 5, 6) [Joshua]
(7, 8, 9) [Richard, Michael, Henry]
Name: First Name, dtype: object
推荐阅读
- microsoft-cognitive - 是否还有对 https://api.projectoxford.ai/vision/v1 的文档或支持?
- python - 使用python进行网页抓取(Beautifulsoup)
- reactjs - 从 redux 函数获取响应
- java - 列表到地图转换
- php - TinyMCE 编辑器的格式不会使用 PHP-Mailer 通过电子邮件发送
- reactjs - 如何在 ReactJS 中首次挂载时不渲染组件的部分子项?
- azure - 如何使用 azure 数据工厂复制特定目录中的所有文件和文件夹
- python - 一次导入一个模块并在 python 中全局使用它
- typescript - 打字稿条件类型
- javascript - 如何在反应路由器中使用 match.params