【问题标题】:How to update non sequential groups in numpy data with keeping the order如何在保持顺序的情况下更新 numpy 数据中的非连续组
【发布时间】:2021-12-16 15:17:17
【问题描述】:

我有两个来自同一个数据集的数据集。原始数据集分为target_datainput_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

标签: python pandas dataframe numpy group-by


【解决方案1】:

你可以的

map_d = {'A':2,'B':4}
array * df['input_data'].map(map_d).values

【讨论】:

  • 我无权访问原始数据,我需要更新 numpy.ndarray 中的 target_data。
  • @user3104352 查看更新
猜你喜欢
  • 2017-10-23
  • 2021-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多