ハーヴェイ:
私は、データフレーム(持っているcarsML
:次のようになります)
+-----------------+----------+--------------+
| carManufacturer | carModel | carType |
+-----------------+----------+--------------+
| VW | POLO | 1.4 TDI |
| VW | POLO | POLO 1.4 TDI |
| VW | POLO | 1.6 TDI |
| VW | POLO | 1.4 |
| VW | POLO | POLO 1.6 TDI |
|+-----------------+----------+--------------+
私はチェックの天気は、行を反復処理したいcarModel
に含まれているcarType
と、それは削除それ以上である場合。だからではなく、POLO 1.4 TDIを持っていることのそれだけで1.4 TDIでなければなりません。
一つの制約-一部はcarModels
(同じように長い単一文字である可能1
かA
)。その場合は、交換をスキップして、何もしません。スクリプトはのみのために動作するはずcarModels
であることlen(carModel)>1
これまでのところ私が持っています:
for row in carsML.itertuples():
if len(row.carModel) > 1:
carsML.iloc[row.Index].carType = row.carType.replace(row.carModel,"")
しかし、これはanything..Iは理由がわからない変更はありません。..
ヤロスラフBezděk:
私はあなたによく理解していれば、以下のワンライナーは、あなたの仕事をすることができます:
carsML.carType = carsML.apply(lambda row: row.carType.strip(row.carModel) if len(row.carModel) > 1 else row.carType, axis=1)