列值A1,A1,A1,如何转换为A1-1,A1-2,A1-3

时间:2019-05-03 15:36:16

标签: python pandas indexing

我有一个具有批次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列? 有一个更好的方法吗?谢谢。

0 个答案:

没有答案