我有一个带有一列的示例数据框 df:
Cost
30
49
98
10
37
20
10
48
70
20
30
40
50
29
90
39
30
29
50
40
和一个列表:id_list = ["A","B","C","D"] 这是一个包含 4 种不同 ID 类型的列表。我想在数据框中创建一个新列,其中前 5 个成本值为“A”,接下来的 5 个成本值为“B”....,最后 5 个成本值为“D”。因此,我想重复 id_list 的元素 5 次,我的新 df 将是这样的:
Cost ID
30 A
49 A
98 A
10 A
37 A
20 B
10 B
48 B
70 B
20 B
30 C
40 C
50 C
29 C
90 C
39 D
30 D
29 D
50 D
40 D
我的实际数据框有很多行,实际的 id_list 有很多元素。 行号是 5 的倍数,因此最终数据框中将有一个精确的填充。 一般来说,我知道如何在 Pandas 数据框中添加具有特定值的列 但我不知道如何使用重复值来做到这一点。 你能建议我如何在 python 中做到这一点吗? 在此先感谢您的帮助
请您参考如下方法:
numpy 有函数,repeat
df['New']=np.repeat(id_list,5)
df
Out[23]:
Cost New
0 30 A
1 49 A
2 98 A
3 10 A
4 37 A
5 20 B
6 10 B
7 48 B
8 70 B
9 20 B
10 30 C
11 40 C
12 50 C
13 29 C
14 90 C
15 39 D
16 30 D
17 29 D
18 50 D
19 40 D
