2 回答

TA贡献1963条经验 获得超6个赞
这里不需要切片
batches = ['Lot 11', 'Lot 12', 'Lot 13', 'Lot 14']
这是精炼后的代码
for i in range(len(df['BatchId'])):
for batch in batches:
if df["BatchId"][i]==batch:
df["BatchId"][i] = batches.index(batch)+1

TA贡献1858条经验 获得超8个赞
您也可以使用替换功能。
以下是如何执行此操作的示例:
import pandas as pd
df = pd.DataFrame({'BatchID':['Lot 11','Lot 11','Lot 11','Think1','Lot 12',
'Lot 12','Lot 13','Lot 14','Lot 14','Lot 14']})
df = df.replace(r'Lot 1','',regex=True)
print(df)
结果如下:
请注意,其中一个值是Think1。所以它没有被更换,因为它不符合模式。
BatchID
0 1
1 1
2 1
3 Think1
4 2
5 2
6 3
7 4
8 4
9 4
添加回答
举报