Nic*_*ais 2 python dataframe pandas
我有一个pd.DataFrame完整的图片名称。通常,图像名称会重复。但是,他们总是紧挨着对方。这是它的样子:
import pandas as pd
from numpy.random import randint
df = pd.DataFrame(sorted(['image_{}'.format(randint(4)) for i in range(10)]),
columns=['Image Name'])
print(df)
Run Code Online (Sandbox Code Playgroud)
Out[6]:
Image Name
0 image_0
1 image_0
2 image_0
3 image_1
4 image_1
5 image_2
6 image_2
7 image_2
8 image_3
9 image_3
Run Code Online (Sandbox Code Playgroud)
因为我将根据此名称保存图像,所以我想将这些字符串附加到累积计数中,如下所示:
Out[7]:
Image Name
0 image_0_1
1 image_0_2
2 image_0_3
3 image_1_1
4 image_1_2
5 image_2_1
6 image_2_2
7 image_2_3
8 image_3_1
9 image_3_1
Run Code Online (Sandbox Code Playgroud)
我该如何继续?我猜是groupby和 的某种组合cumcount?
考虑groupby().cumcount()并连接到原始字符串和顺序无关紧要:
df['Image Name'] = (df['Image Name'] + '_' +
(df.groupby('Image Name').cumcount() + 1).astype(str)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |