python - 如何将熊猫列表行转换为 numpy 数组?
问题描述
我有一个包含两列的数据框:
name, [sizes]
例子
one, [1,2,3]
two, [4,5,6]
我想将值转换为数组以进行进一步处理。
x_data = list(set(df.name.values))
y_data = [df.query('name == @h').sizes.values for h in x_data]
这将返回:
[array([list([1, 2, 3])], dtype=object), array([list([4,5,6])], dtype=object)]
有没有办法将其展平并将其作为简单的数组 [] 而不是数组 [列表 []]?
解决方案
使用tolist()
:
np.array(df['sizes'].tolist())
输出:
array([[1, 2, 3],
[4, 5, 6]])
请注意,它仅适用于列中所有列表的大小相同的情况。对于不同的尺寸,我们会得到类似的东西:
array([list([1, 2, 3]), list([4, 5, 6, 7])], dtype=object)
推荐阅读
- authentication - 获取经过身份验证的 ldap 用户的 CN 条目
- java - 查找 MWS 参数
- javascript - openpose 模型不返回正确的 x、y 值
- sql - 避免在 Cognos 中内置分组和创建集合
- javascript - 移动设备上的本地存储
- python - 我们如何从具有变化变量的对象中获取 dict 值
- sorting - 时间:2019-05-10 标签:c#sortingalg best and mostefficient
- python - 加载和解释多个 csv 文件作为机器学习数据集的单独项目
- google-sheets - IF、IFS、AND & OR 语句的 Google 表格问题
- flutter - Flutter - 建议安排多个本地通知