抱歉,如果这是重复的,但我找不到类似的问题。
我有一个玩具数据框:

      A     B    participant
0     1     3    1
1     2     4    1
2     5     8    2
3     4     9    2

我有一个列表,对应于为每个参与者所做的单个度量。
measurement_list = [2.5, 4.7]

如何将每个参与者的度量值分配给新列?渴望的:
      A     B    participant    measurement
0     1     3    1              2.5
1     2     4    1              2.5
2     5     8    2              4.7
3     4     9    2              4.7

(真正的数据集要大得多。)

最佳答案

使用np.repeat

#if it is unsorted dataframe , using sort_values 1st
#df=df.sort_values('participant')
df.assign(measurement=np.repeat(measurement_list,df.participant.value_counts(sort=False)))

Out[324]:
   A  B  participant  measurement
0  1  3            1          2.5
1  2  4            1          2.5
2  5  8            2          4.7
3  4  9            2          4.7

关于python - 复制列表值并将新列添加到数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49241026/

10-11 18:32