私はデータフレーム内の列から「#1」を削除する機能を作成しようとしています:変更値
def formatSignalColumn(df):
for i,signal in enumerate(df['Signal list']):
df = df.set_value(i, 'Signal list', signal.replace(" #1", ""))
df = df.set_value(i, 'Signal list', signal.replace(" #2", ""))
return df
しかし、私はこれを通じて自分のデータフレームを渡す際に、それは何も変わらない。
tlog = formatSignalColumn(tlog)
私は機能外ループのために実行したときに興味深いことに、それはどちらか動作しませんが、私は特にそれが動作i
とsignal
値を選択...
i = 0
signal = tlog['Signal list'][i]
tlog= tlog.set_value(i, 'Signal list', signal.replace(" #1", ""))
tlog= tlog.set_value(i, 'Signal list', signal.replace(" #2", ""))
このdoesnの私には意味がありません。誰にでもアイデアはありますか?
利用できる唯一の方法ではないとして、この上に、人は常にベクトル化の方法を模索してループを避ける必要があります.str.replace( '#1 |#2'、 '') – EdChum
ここで問題となるのは、反復処理中にデータを変更しているため、コピーを作成しているようです。 – EdChum