微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

熊猫数据框每行重复5次,同时更改一列

如何解决熊猫数据框每行重复5次,同时更改一列

我有数据框:

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]

这样做的最好方法是什么?

解决方法

您可以在mapmy_func函数vid_fn,然后在explodevid_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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。