Hapus Tanda Dolar dari Seluruh Kerangka Data Python Pandas

Saya ingin menghapus tanda dolar dari seluruh kerangka data python pandas. Ini mirip dengan posting ini:

Hapus Seluruh Karakter

Namun, saya ingin menghapus tanda dolar yang tidak berfungsi. Saya percaya itu karena regex melihat tanda dolar sebagai akhir dari string, tapi saya tidak yakin apa yang harus saya lakukan. Inilah yang telah saya buat sejauh ini:

dftest = pd.DataFrame({'A':[1,2,3],
                       'B':[4,5,6],
                       'C':['f;','$d:','sda%;sd$'],
                       'D':['s%','d;','d;p$'],
                       'E':[5,3,6],
                       'F':[7,4,3]})

Yang memberikan output:

In [155]: dftest
Out[155]:
   A  B         C     D  E  F
0  1  4        f;    s%  5  7
1  2  5       $d:    d;  3  4
2  3  6  sda%;sd$  d;p$  6  3

Saya kemudian mencoba menghilangkan tanda dolar sebagai berikut:

colstocheck = dftest.columns

dftest[colstocheck] = dftest[colstocheck].replace({'$':''}, regex = True)

Itu tidak menghilangkan tanda dolar tetapi kode ini menghilangkan tanda persen:

dftest[colstocheck] = dftest[colstocheck].replace({'%':''}, regex = True)

Jadi saya tidak yakin bagaimana cara mengganti tanda dolar.


person d84_n1nj4    schedule 29.03.2017    source sumber


Jawaban (2)


Anda perlu keluar $ pada \:

dftest[colstocheck] = dftest[colstocheck].replace({'\$':''}, regex = True)
print (dftest)
   A  B        C    D  E  F
0  1  4       f;   s%  5  7
1  2  5       d:   d;  3  4
2  3  6  sda%;sd  d;p  6  3
person jezrael    schedule 29.03.2017
comment
Ahh, saya sedang bermain-main dengan itu tetapi tidak berhasil--Saya tidak terbiasa dengan regex. Terima kasih! - person d84_n1nj4; 29.03.2017
comment
Catatan: Anda juga dapat menentukan banyak karakter di dict: {'\$': '', ',': ''} untuk menggantikan tanda dolar dan koma, misalnya. Sangat berguna saat menangani sampah ekspor Excel :) - person Hendy; 26.09.2017

Untuk menambah jawaban jezrael. tambahkan 'r' sebelum string garis miring terbalik untuk menghindari peringatan urutan escape pep8 yang tidak valid.

dftest[colstocheck] = dftest[colstocheck].replace({r'\$':''}, regex = True)
person Sam_Kim    schedule 13.01.2021