熊猫数据框在更改一列时每行重复 5 次
Posted
技术标签:
【中文标题】熊猫数据框在更改一列时每行重复 5 次【英文标题】:pandas dataframe duplicate each row 5 times while changing one column 【发布时间】:2021-01-19 14:04:39 【问题描述】:我有数据框:
vid_fn V1 V2 V3
a.avi 1 4 5
b.avi 7 8 1
我想每行重复 5 次,同时更改第一列:
frame_fn V1 V2 V3
a1.jpg 1 4 5
a2.jpg 1 4 5
a3.jpg 1 4 5
a4.jpg 1 4 5
a5.jpg 1 4 5
b1.jpg 7 8 1
b2.jpg 7 8 1
b3.jpg 7 8 1
b4.jpg 7 8 1
b5.jpg 7 8 1
这5个值是由外部函数生成的,所以在调用时
my_func(a.avi)
我明白了:
[a1.jpg, a2.jpg, a3.jpg, a4.jpg, a5.jpg]
最好的方法是什么?
【问题讨论】:
【参考方案1】:您可以在vid_fn
上map
函数my_func
然后explode
vid_fn
上的数据框:
df.assign(vid_fn=df['vid_fn'].map(my_func)).explode('vid_fn')\
.rename(columns='vid_fn': 'frame_fn').reset_index(drop=True)
frame_fn V1 V2 V3
0 a1.avi 1 4 5
1 a2.avi 1 4 5
2 a3.avi 1 4 5
3 a4.avi 1 4 5
4 a5.avi 1 4 5
5 b1.avi 7 8 1
6 b2.avi 7 8 1
7 b3.avi 7 8 1
8 b4.avi 7 8 1
9 b5.avi 7 8 1
【讨论】:
以上是关于熊猫数据框在更改一列时每行重复 5 次的主要内容,如果未能解决你的问题,请参考以下文章