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
添加回答
舉報