将列表中的元素连接到索引并将其重置为新的索引值

2024-04-23 20:14:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个清单:

['ww','xx','yy','zz']

我有一个df:

   val
A  2
A  3
A  3
A  4
B  5
B  4

我想将列表元素加入到重复的索引名中,并将其重置为新的索引名,以生成以下输出。索引重复值和列表中的元素具有相同的长度:

   val
Aww  2
Axx  3
Ayy  3
Azz  4
Bww  5
Bxx  4

我怎样才能做到这一点


Tags: 元素df列表val重置xxwwyy
1条回答
网友
1楼 · 发布于 2024-04-23 20:14:35

这是一种使用itertools.cycle的方法

例如:

from itertools import cycle

data = cycle(['ww','xx','yy','zz'])

df = pd.DataFrame({"val": [2,3,4,5,6,7,8,9], 'ind':["A","A","A","A","A","A","A","A"]})
df['ind'] = ["{}{}".format(i, next(data)) for i in df['ind']]    
df.set_index('ind', inplace=True)
print(df)

输出:

     val
ind     
Aww    2
Axx    3
Ayy    4
Azz    5
Aww    6
Axx    7
Ayy    8
Azz    9

相关问题 更多 >