gpt4 book ai didi

Python Pandas : column with ordered file names based on given sequence

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:50 24 4
gpt4 key购买 nike

我想在数据框中创建一个列,其中包含基于特定序列号的文件名列表。

我的主数据框如下所示:

  num letter 
0 0 I
1 1 P
2 2 I
2 3 B
2 4 P
2 5 B
2 6 I

我的文件名是:I-0001.jpg、I-0002.jpg、I-0003.jpg、P-0001.jpg、P-0002.jpg、B-0001.jpg、B -0002.jpg

我想要的最终结果是:

   num  letter  file
0 0 I I-0001.jpg
1 1 P P-0001.jpg
2 2 I I-0002.jpg
2 3 B B-0001.jpg
2 4 P P-0002.jpg
2 5 B B-0002.jpg
2 6 I I-0003.jpg

所以基本上,列文件应该是这样的,只要在“字母”列中找到 I、P 或 B,它就会根据中的编号选择文件名中包含 I、P 或 B 的文件名每个文件。

有什么帮助吗?

最佳答案

您可以将letter列与GroupBy.cumcount创建的Series连接起来对于每个字母的计数器,添加1,转换为字符串,如有必要,添加str.zfill :

df['file'] = (df['letter'] + '-' +
df.groupby('letter').cumcount().add(1).astype(str).str.zfill(4) + '.jpg')
print (df)
num letter file
0 0 I I-0001.jpg
1 1 P P-0001.jpg
2 2 I I-0002.jpg
2 3 B B-0001.jpg
2 4 P P-0002.jpg
2 5 B B-0002.jpg
2 6 I I-0003.jpg

详细信息:

print (df.groupby('letter').cumcount())
0 0
1 0
2 1
2 0
2 1
2 1
2 2
dtype: int64

print (df.groupby('letter').cumcount().add(1).astype(str).str.zfill(4))
0 0001
1 0001
2 0002
2 0001
2 0002
2 0002
2 0003
dtype: object

关于Python Pandas : column with ordered file names based on given sequence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48443698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com