如何在保持顺序的情况下更新 numpy 数据中的非连续组
Posted
技术标签:
【中文标题】如何在保持顺序的情况下更新 numpy 数据中的非连续组【英文标题】:How to update non sequential groups in numpy data with keeping the order 【发布时间】:2021-12-16 15:17:17 【问题描述】:我有两个来自同一个数据集的数据集。原始数据集分为target_data
和input_data
,如下:
target_data, type:numpy.ndarray
[12,
14,
11,
17,
9,
10,
7,
2,
21,
27]
input_data, type: pandas.DataFrame
group_name
'A'
'B'
'B'
'A'
'A'
'B'
'A'
'B'
'B'
'A'
在这里,我正在尝试为input_data
中定义的每个组更新target_data
。例如,对于group 'A'
,我需要将target_data
更新为当前值的2 倍。对于group 'B'
,我需要将target_data
更新为当前值的4 倍。想要的target_data
:
target_data, type:numpy.ndarray
[24,
56,
44,
34,
18,
40,
14,
8,
84,
54]
有没有办法以pythonic方式做到这一点?
【问题讨论】:
都是numpy数组?不在 pandas 数据框中,对吧? target_data,类型:numpy.ndarray,input_data,类型:pandas.DataFrame 【参考方案1】:你可以的
map_d = 'A':2,'B':4
array * df['input_data'].map(map_d).values
【讨论】:
我无权访问原始数据,我需要更新 numpy.ndarray 中的 target_data。 @user3104352 查看更新以上是关于如何在保持顺序的情况下更新 numpy 数据中的非连续组的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Room 和 LiveData 保持 RecyclerView 顺序的更改?