我有一個資料框,其中有一列包含 EURUSD、GBPUSD、CNYUSD 等字串:
CCY
GBPUSD
EURUSD
CNYUSD
我怎樣才能將這個列中的所有值從 EURUSD 轉換為 USDEUR、GBPUSD 轉換為 USDGBP 等,像這樣?
CCY
USDGBP
USDEUR
USDCNY
uj5u.com熱心網友回復:
我不完全明白你的意思。但是,如果您想創建一個具有相同值的新列,您只需執行此操作。
df['USDEUR']= df['EURUSD'].values
如果你想重命名你做的列
df.rename(columns = {'EURUSD':'USDEUR'}, inplace = True)
uj5u.com熱心網友回復:
df['CCY'] = df['CCY'].apply(lambda x: x[3:] x[:3])
uj5u.com熱心網友回復:
import pandas as pd
def convertCurrency(value):
switch = {
'EURUSD':'USDEUR',
'GBPUSD': 'USDGBP',
'CNYUSD': 'USDCNY'
}
return switch.get(value, 'invalid')
df = pd.DataFrame({'Currency':['EURUSD', 'GBPUSD', 'CNYUSD']})
df['Currency Converted'] = df['Currency'].apply(convertCurrency)
display(df)
輸出:
Currency Currency Converted
0 EURUSD USDEUR
1 GBPUSD USDGBP
2 CNYUSD USDCNY
uj5u.com熱心網友回復:
使用向量函式:
df['currency'] = df['currency'].str[3:] df['currency'].str[:3]
或者,如果您想要有條件的替換(僅當它是 second 時才移動 USD ),請使用正則運算式:
df['currency'] = df['currency'].str.replace(r'(...)USD', r'USD\1', regex=True)
輸出:
currency
0 USDEUR
1 USDGBP
2 USDCNY
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/494626.html
