从DataFrame列中删除不同类型的字符

时间:2016-06-12 17:04:52

标签: python regex dataframe

我在DataFrame中有以下列

0      EUR/USD
1      GBP/USD
2      USD/JPY
3      USD/CHF
4      AUD/USD
5      USD/CAD
6      NZD/USD
7      USD/ZAR
8      USD/TRY
9      BTC/USD
10     USD/MXN
11     USD/PLN
12     USD/SEK
13     USD/SGD
14     USD/DKK

我需要删除每一美元和每一美元。要有这种格式:

0      EUR
1      GBP
2      JPY
3      CHF
4      AUD
5      CAD
6      NZD
7      ZAR
8      TRY
9      BTC
10     MXN
11     PLN
12     SEK
13     SGD
14     DKK

我能够通过

来做到这一点
ListCurrencies['Pair'].replace(regex=True,inplace=True,to_replace=r'[^\w]',value=r'')
ListCurrencies['Pair'].replace(regex=True,inplace=True,to_replace=r'USD',value=r'')`

如何在一行代码中组合这两个参数?

1 个答案:

答案 0 :(得分:1)

您可以将str.replace与正则表达式/USD|USD/

一起使用
In [180]: df['col'].str.replace(r'/USD|USD/', '')
Out[180]: 
0     EUR
1     GBP
2     JPY
3     CHF
4     AUD
5     CAD
6     NZD
7     ZAR
8     TRY
9     BTC
10    MXN
11    PLN
12    SEK
13    SGD
14    DKK
Name: col, dtype: object
但是,请注意,如果这些代表外汇汇率,则为订单 事项。 x EUR/USD表示x美元等于1欧元。虽然x USD/EUR表示 1美元= x欧元。如果您取消USD//USD,则可能不再存在 明确相关值的含义。