我有一个具有批次ID功能的数据集,每个批次ID出现了3次。
我希望创建一个新功能ProdBatchNo,它类似于以下内容:
| Batch ID | ProdBatchNo |
|----------|-------------|
| A1 | A1-1 |
| A1 | A1-2 |
| A1 | A1-3 |
| B1 | B1-1 |
| B1 | B1-2 |
| B1 | B1-3 |
我的代码如下
E = []
count = 1
for i in df['Batch ID']:
if (df['Batch ID'].iloc[i].str[:1] > df['Batch ID'].iloc[i-1].str[:1]):
count = 1
E.append(i + str(count))
else:
count += 1
E.append(i + str(count))
我遇到的错误是:
TypeError: cannot do positional indexing on <class 'pandas.core.indexes.range.RangeIndex'> with these indexers [A1] of <class 'str'>
如何拆分此列批ID以生成ProdBatchNo列? 有一个更好的方法吗?谢谢。