arrays - 熊猫数据框中的 Numpy 数组 - 如何规范化值,保持原始结构?
问题描述
我将数组作为数据框中的单元格。数组有 2 列,一个值和一个类别,它们的长度(即行数)不同。
这是一个只有一列的简单示例:
import pandas as pd
import numpy as np
arr1 = np.array([[1, 2,3], ['a','b','c']])
arr2 = np.array([[2, 3], ['a','b']])
df1 = pd.DataFrame(index=np.arange(0, 2), columns=(['column1']))
df1.iloc[0][0]=arr1
df1.iloc[1][0]=arr2
结果 df1 为
0 [[1, 2, 3], [a, b, c]]
1 [[2, 3], [a, b]]
我想要的是列范围内的标准化值作为数组 arr1 和 arr2 中的新列,所以在这种情况下使用 [1,2,3,2,3],而不仅仅是 [1,2,3] 和 [2,3]分别地。我怎样才能做到这一点?数据框 df1 的结构不得更改,只能更改单元格内的内容。
将值提取到列表然后对其进行规范化是一项简单的任务,但是由于复杂的结构,如何“将它们放回去”是我苦苦挣扎的地方。我应该为数组中的所有值添加索引以将它们配对吗?声音缓慢且不必要。我可以以某种方式创建一个对原始数字对象的引用数组并替换它们吗?但如果这样做,我会丢失原始值......但是我将如何将它们添加为新列,因为我只引用原始对象?
我确信有一种直观的方法可以做到这一点,但我无法表达出来。
解决方案
推荐阅读
- amazon-web-services - Amazon SES:用户无权对资源执行“ses:SendEmail”
- javascript - 如何确定页面是由自定义选项卡打开的?
- google-cloud-platform - 在 gcp 中升级/更改虚拟机实例的操作系统版本
- r - 为什么函数“格式”会显示这样的内容?
- hit - 玩家被击中时的“击退”
- mongodb - 自动启动 replSet
- javascript - 数组中的值在useEffect内部和useEffect外部不同,ReactJs
- javascript - TypeScript 中的引用发生了什么?
- xsl-fo - 调整块容器内块的垂直位置
- c# - Nuget 包动态 ConnectionString