使用はstr.lstrip
をベクトル化:
temp_dataframe['PPI'] = temp_dataframe['PPI'].str.lstrip('PPI/')
あなたがそれらをマスクまたはそれらを交換する必要がありますので、あなたは欠損値をしていることのように見える:
temp_dataframe['PPI'].fillna('', inplace=True)
または
temp_dataframe.loc[temp_dataframe['PPI'].notnull(), 'PPI'] = temp_dataframe['PPI'].str.lstrip('PPI/')
多分より良い方法はstr.startswith
を使用してフィルタリングし、を使用することです210及び削除する接頭辞の後の文字列にアクセス:
temp_dataframe.loc[temp_dataframe['PPI'].str.startswith('PPI/'), 'PPI'] = temp_dataframe['PPI'].str.split('PPI/').str[1]
を@JonClementsがlstrip
は空白を削除するのではなく、あなたが後にしているものであるプレフィックスを削除していることを指摘したように。
更新
別の方法は、任意のプレフィックスを検索正規表現パターンを通過し、接頭辞の後にすべての文字を抽出することである。
temp_dataframe['PPI'].str.extract('(?:PPI/)?(.*)', expand=False)
値の欠損や実際の浮きが原因ですか?これを引き起こす行の価値を示すことができますか? (ここで学び、理解しようとしている) – bakkal