如何在数据帧中将货币转换为美元

2024-05-12 15:22:18 发布

您现在位置:Python中文网/ 问答频道 /正文

array(['DEM 6000000', '$ 1500000', '$ 60000', '$ 1499000', '$ 3977000',
       '$ 1900000', '$ 2777000', '$ 2280000', '$ 2600000', '$ 839727',
       '$ 950000', '$ 48000000', '$ 2100000', '$ 3000000', '$ 1400000',
       '$ 2900000', '$ 250000', '$ 2723903', '$ 2540800', '$ 1650000',
       '$ 30000', '$ 4000000', '$ 2000000', '$ 175000', '$ 1000000',
       'JPY 125000000', '$ 5019770', 'FRF 17500000', '$ 5400000',
       '$ 829000', '$ 2479000', '$ 15000000', '$ 6000000', '$ 180000',
       '$ 806947', '$ 12000000', '$ 5000000', '$ 160000', '$ 1100000',
       '$ 2200000', '$ 44000000', '$ 1800000', '$ 9400000', '$ 120000',
       '$ 560000', '$ 17000000', '$ 200000', '$ 800000', '$ 11000000',
       '$ 3800000', '$ 600000', '$ 8200000', '$ 9000000', '$ 1200000',
       '$ 7500000', '$ 1600000', '$ 9500000', '$ 5500000', '$ 14100000',
       '$ 114000', '$ 5800000', '$ 941000', '$ 360000', '$ 25000000',
       '$ 3600000', '$ 7000000', '$ 20000000', '$ 2500000', '$ 7700000',
       '$ 6244087', '$ 10000000', '$ 750000', '$ 3500000', '$ 777000',
       '$ 7200000', '$ 1300000', 'AUD 800000', '$ 725000', '$ 1585000',
       '$ 1700000', 'RUR 1000000', '$ 500000', '$ 1250000', '$ 810000',
       '$ 13000000', '$ 6500000', 'GBP 229575', 'GBP 1500000', '$ 300000',
       '$ 14000000', '$ 2800000', '$ 4340000', 'AUD 440000', '$ 8500000',
       'GBP 575000', '$ 24000000', '$ 3700000', '$ 960000', '$ 4400000',
       '$ 3200000', '$ 4015000', '$ 7840000', 'AUD 810000', '$ 4300000',
       '$ 6800000', '$ 7920000', '$ 325000', '$ 2700000', '$ 18000000',
       '$ 55000000', '$ 35000000', '$ 4700000', '$ 31500000', '$ 5450000',
       '$ 2300000', '$ 12164000', '$ 8000000', 'GBP 10000000',
       'CAD 1600000', '$ 16000000', '$ 34000000', 'JPY 5000000000',
       '$ 4800000', '$ 4500000', '$ 27000000', '$ 550000', 'CAD 1500000',
       'CAD 4100000', '$ 19000000', '$ 5100000', '$ 54000000',
       'DEM 32000000', '$ 400000', '$ 28000000', 'AUD 2600000',
       '$ 12500000', 'CAD 6500000', '$ 9300000', 'CAD 2300000',
       '$ 22000000', '$ 32000000', '$ 50000000', '$ 11300000',
       '$ 10500000', '$ 350000', '$ 13200000', '$ 26000000',
       'CAD 3500000', '$ 10700000', '$ 11200000', '$ 21000000',
       '$ 4520000', '$ 5600000', '$ 9700000', '$ 3300000', '$ 20500000',
       '$ 47000000', '$ 36000000', '$ 27500000', '$ 32500000', '$ 700000',
       '$ 6200000', '$ 39000000', '$ 14500000', '$ 5952000', '$ 58000000',
       '$ 40000000', '$ 4600000', '$ 30000000', '$ 14400000',
       '$ 15100000', '$ 2550000', 'GBP 3000000', 'GBP 1162000',
       '$ 1065000', '$ 90000', '$ 6400000', '$ 17500000', '$ 24500000',
       '$ 31000000', '$ 6900000', '$ 7600000', '$ 11500000', '$ 900000',
       '$ 17900000', '$ 2400000', 'FRF 17000000', '$ 8800000',
       '$ 18500000', '$ 8700000', 'GBP 450000', '$ 13800000',
       'CAD 1800000', '$ 37000000', '$ 3401376', 'GBP 650000',
       'ITL 30000000000', '$ 8300000', '$ 29000000', 'CAD 2500000',
       '$ 100000', '$ 23000000', 'GBP 23000000', 'GBP 1577000',
       '$ 22700000', '$ 3520000', 'DEM 800000', 'FRF 80000000',
       'GBP 1800000', '$ 63000000', '$ 70000000', '$ 46630000',
       '$ 22500000', '$ 10400000', '$ 16400000', 'JPY 800000000',
       '$ 27800000', '$ 33000000', '$ 38000000', '$ 5200000',
       '$ 60000000', 'CAD 22000000', '$ 111000', '$ 5300000', '$ 230000',
       '$ 4200000', 'FRF 50000000', '$ 42000000', '$ 13500000',
       '$ 65000000', 'FRF 24000000', '$ 6788000', 'DKK 28000000',
       '$ 17010000', '$ 23000', '$ 102000000', '$ 16500000', '$ 49000000',
       '$ 80000000', 'BEF 1000000', 'GBP 2300000', '$ 41000000',
       '$ 11700000', '$ 22769', '$ 7000', '$ 45000000', 'AUD 3000000',
       '$ 43000000', '$ 57000000', '$ 14600000', '$ 85000000',
       '$ 62000000', '$ 27000', 'HKD 40000000', 'CAD 2000000',
       '$ 46000000', 'FRF 115000000', '$ 65897768', '$ 75000000',
       '$ 7400000', '$ 115000000', '$ 52000000', '$ 100000000',
       '$ 72000000', '$ 53000000', '$ 98000000', '$ 90000000',
       '$ 30250000', 'JPY 600000000', '$ 150000', '$ 29000001',
       '$ 175000000', '$ 4100000', '$ 25530000', '$ 21500000',
       'DKK 6000000', '$ 92000000', '$ 125000000', '$ 116000000',
       '$ 71500000', 'FRF 82000000', '$ 93000000', '$ 25000', '$ 740000',
       '$ 73000000', '$ 31190000', 'JPY 2400000000', 'AUD 16000000',
       '$ 68000000', '$ 160000000', '$ 105000000', 'CAD 5000000',
       '$ 200000000', '$ 110000000', 'GBP 3500000', '$ 140000000',
       '$ 51000000', '$ 120000000', '$ 130000000', 'GBP 960000',
       '$ 95000000', '$ 11350000', '$ 170000000', '$ 66000000',
       '$ 113000000', 'CAD 365000', '$ 82000000', 'DEM 15000000',
       '$ 127500000', 'DEM 3500000', '$ 76000000', '$ 94000000',
       '$ 34200000', '$ 135000000', 'GBP 2000000', '$ 84000000',
       '$ 139000000', 'SEK 9000000', '$ 6000', '$ 64000000', '$ 29750000',
       '$ 83000000', '$ 79000000', '$ 312000', 'EUR 7000000', '$ 40000',
       '$ 133000000', 'GBP 1900000', '$ 12800000', 'INR 1091250',
       '$ 123000000', '$ 103000000', '$ 137000000', 'EUR 2850000',
       'ESP 400000000', '$ 225000', 'DEM 8400000', 'GBP 2200000',
       'FRF 65000000', '$ 41300000', 'ESP 125000000', 'FRF 100000000',
       '$ 3400000', '$ 5250000', 'SEK 17000000', 'GBP 1365000',
       '$ 7300000', 'GBP 6000000', '$ 63600000', '$ 8600000',
       '$ 87000000', 'CAD 20000000', 'CAD 1000000', 'AUD 5000000',
       '$ 21150000', '$ 150000000', 'FRF 39000000', 'FRF 53000000',
       'FRF 25000000', 'FRF 95130000', '$ 17700000', '$ 142000000',
       '$ 15600000', '$ 107000000', 'FRF 10000000', '$ 7100000',
       'ATS 70000000', '$ 10000', 'GBP 1600000', 'EUR 40000000',
       '$ 42000', 'FRF 48000000', 'INR 7000000', 'FRF 29000000',
       '$ 59000000', 'FRF 30000000', 'EUR 4800000', '$ 15500000',
       '$ 10600000', 'DKK 86000000', 'FRF 49000000', 'NOK 15500000',
       '$ 56000000', 'EUR 5328737', 'FRF 103000000', '$ 19800000',
       '$ 11800000', 'EUR 15300000', 'FRF 18000000', 'EUR 2000000',
       'EUR 8000000', 'EUR 5300000', 'EUR 7032000', '$ 80000',
       'ESP 1200000', 'CAD 1960000', 'GBP 3500159', '$ 78000000',
       'THB 400000000', 'EUR 19000000', 'GBP 2500000', 'BRL 12000000',
       'FRF 85000000', 'INR 280000000', '$ 125000', '$ 12600000',
       '$ 825000', '$ 24000', 'GBP 1950000', '$ 5740000', 'EUR 900000',
       'EUR 15920000', 'EUR 2717930', 'GBP 75000', 'FIM 8000000',
       '$ 109000000', 'EUR 3300000', '$ 81000000', 'BRL 3300000',
       '$ 250050', 'EUR 5000000', 'GBP 7000000', '$ 35200000',
       'SGD 4500000', '$ 128000000', 'EUR 5000', 'CAD 3000000',
       'EUR 2200000', 'CAD 6000000', 'SEK 22000000', '$ 165000000',
       'EUR 59660000', 'AUD 1000', '$ 6428966', 'AUD 2000000',
       'EUR 2400000', 'AUD 1000000', 'DKK 50000000', '$ 14200000',
       '$ 9600000', '$ 56600000', '$ 86000000', '$ 850000', '$ 155000000',
       'JPY 2000000000', '$ 450000', '$ 270000000', '$ 37665000',
       'EUR 1100000', '$ 88000000', '$ 9750000', 'EUR 5250784',
       '$ 19250000', '$ 207000000', 'EUR 11700000', '$ 180000000',
       'GBP 4000000', '$ 20000', 'HUF 2500000000', '$ 185000000',
       '$ 50000', '$ 46000', 'EUR 10000000', '$ 215000', 'EUR 5500000',
       '$ 780000', 'BRL 8000000', 'HUF 100000000', 'EUR 2500000',
       '$ 33100000', '$ 210000000', 'MXN 25000000', 'GBP 1000000',
       'GBP 1700000', 'INR 100000000', 'AUD 15000000', '$ 225000000',
       'CNY 100000000', 'CNY 10000000', 'EUR 1601792', 'GBP 4500',
       '$ 82500000', '$ 475000', 'EUR 1000000', 'EUR 4750000',
       '$ 260000000', '$ 70000', '$ 185000', '$ 126000000', 'EUR 750000',
       '$ 650000', 'CZK 36000000', '$ 250000000', 'CAD 500000',
       'BRL 5200000', '$ 132000000', 'EUR 1790000', '$ 163000000',
       'HUF 500000000', '$ 19300000', 'EUR 21166000', '$ 258000000',
       'EUR 12000000', '$ 72500000', '$ 3750000', 'HKD 60000000',
       'GBP 695393', 'CHF 500000', 'EUR 2700000', 'AUD 11400000',
       'EUR 4500000', '$ 7900000', '$ 16800000', 'GBP 2800000',
       '$ 149000000', 'DKK 10000000', 'GBP 8000000', 'EUR 2000',
       'CNY 553632000', '$ 69000000', 'THB 200000000', 'EUR 600000',
       '$ 10200000', 'JPY 5000000', '$ 15000', 'GBP 9800000',
       'EUR 2150000', '$ 1234567', 'EUR 7450000', 'EUR 6000000',
       'EUR 14500000', '$ 169000', '$ 61000000', '$ 19400000',
       'EUR 3000000', 'GBP 26000000', 'GBP 14000', '$ 300000000',
       'EUR 25320000', 'INR 400000000', 'KRW 4200000000', '$ 35000',
       '$ 60795000', '$ 5000', 'EUR 1380000', 'CAD 750000', 'GBP 300000',
       '$ 67000000', 'SGD 200000', 'EUR 3400000', 'GBP 5000000',
       'EUR 14000000', 'AUD 2200000', 'GBP 3800000', 'KRW 12215500000',
       'EUR 1500000', 'CAD 11000000', 'EUR 15000000', 'GBP 1500',
       'EUR 1400000', '$ 3900000', 'GBP 500000', 'CAD 4000000',
       'EUR 12800000', 'INR 150000000', '$ 237000000', 'EUR 20000000',
       'GBP 25000000', 'CAD 12000000', 'THB 300000000', 'EUR 8400000',
       'EUR 4000000', 'GBP 13000000', 'HKD 35000000', 'EUR 16000000',
       'EUR 24000000', '$ 14700000', 'EUR 200000', 'EUR 4200000',
       '$ 190000000', '$ 37500000', 'EUR 1300000', 'NOK 22000000',
       'EUR 980000', 'EUR 1450000', '$ 220000000', 'JPY 300000000',
       'BRL 3000000', '$ 145000000', 'GBP 13500000', 'EUR 300000',
       'DKK 45000000', 'GBP 150000000', '$ 230000000', '$ 55000',
       'EUR 4773906', '$ 15700000', 'GBP 900000', '$ 117000000',
       'EUR 5700000', '$ 44500000', '$ 138000000', 'EUR 590000',
       'EUR 800000', 'EUR 6400000', '$ 9800000', 'GBP 150000',
       '$ 26350000', '$ 10800000', '$ 13000', 'AUD 6500000', '$ 23600000',
       '$ 25100000', 'INR 550000000', '$ 430000', 'INR 600000000',
       '$ 215000000', 'EUR 3600000', 'GBP 612650', 'AUD 3500000',
       'EUR 9200000', '$ 49900000', '$ 17000', '$ 19100000', 'EUR 500000',
       '$ 16700000', 'EUR 3900000', 'KRW 1300000000', '$ 144000000',
       'EUR 2300000', 'EUR 17000000', 'GBP 7500000', '$ 112000000',
       'EUR 11500000', 'GBP 20000000', '$ 195000000', 'EUR 12500000',
       'EUR 2100000', '$ 50200000', 'EUR 13000000', 'EUR 1948000',
       'EUR 4255932', 'EUR 240000', 'INR 102000000', '$ 209000000',
       'EUR 25000000', '$ 13300000', 'EUR 9000000', 'BRL 20000000',
       'AUD 25000000', '$ 38600000', 'EUR 8700000', 'EUR 7740000',
       'EUR 3850000', 'CAD 1100000', '$ 65000', 'CAD 600000', '$ 8900000',
       'EUR 11000000', 'KRW 30000000000', '$ 16600000', 'NOK 30300000',
       '$ 176000000', 'EUR 3700000', '$ 178000000', '$ 6600000',
       'EUR 9150000', 'NOK 17500000', '$ 12700000', 'GBP 6400000',
       'CZK 175000000', 'EUR 9500000', 'AUD 2500000', 'EUR 2472000',
       '$ 39200000', 'GBP 120000', '$ 930000', 'EUR 9700000', '$ 1009653',
       'NOK 19900000', '$ 19500000', '$ 25500000', '$ 81200000',
       '$ 6700000', '$ 3100000', '$ 40600000', '$ 16200000', '$ 7395080',
       '$ 9980000', 'EUR 9600000', 'PLN 34148170', 'EUR 5600000',
       'HKD 200000000', 'CLP 153000000', 'EUR 13500000', '$ 97600000',
       'EUR 3100000', '$ 335000', '$ 270000', 'GBP 4900000',
       'EUR 4300000', 'CNY 30000000', 'EUR 3200000', 'GBP 1300000',
       'EUR 15400000', 'EUR 8500000', 'SEK 63000000', '$ 1850000',
       '$ 58800000', 'EUR 850000', 'BRL 1860000', 'NZD 3500000',
       'NGN 1270000000', 'DKK 15500000', 'AUD 1300000', '$ 177200000',
       'ARS 2000000', '$ 14800000', '$ 74000000', '$ 937000',
       'EUR 103000', '$ 97000000', 'EUR 6500000', 'HUF 953000000',
       'MXN 12000000', '$ 420000', '$ 108000000', 'NOK 38500000',
       'EUR 5555559', 'CNY 150000000', 'GBP 316000', '$ 12000',
       '$ 245000000', '$ 50100000', '$ 129000000', 'EUR 6900000',
       '$ 10900000', '$ 99000000', 'GBP 8200000', 'ARS 3000000',
       '$ 317000000', '$ 275000000', 'EUR 1605000', 'EUR 4576591',
       '$ 127000000', 'EUR 10500000', 'EUR 1880000', 'HKD 15000000',
       'EUR 470000', 'NOK 35000000', 'HUF 700000000', 'AUD 17000000',
       'GBP 12000000', 'EUR 7700000', 'EUR 650000', 'EUR 1500',
       'EUR 2896000', 'EUR 12300000', '$ 9900000', '$ 217000000',
       '$ 111000000', '$ 12400000', 'GBP 700000', '$ 495000', 'CAD 60000',
       'AUD 3992880', 'CAD 13000000', 'EUR 4993020', 'BRL 4000000',
       'EUR 3800000', 'EUR 8555500', 'EUR 10300000', 'DKK 35500000',
       '$ 2480421', 'EUR 100000', 'EUR 1700000', 'AUD 1500000',
       'KRW 10000000000', '$ 321000000', '$ 356000000', 'GBP 5500000',
       'EUR 63000000', 'JPY 234000000', 'EUR 1350000', 'ILS 3850000',
       'EUR 1250000', 'CAD 61000000', 'GBP 400000', 'GBP 5400000',
       'EUR 4635000', 'CNY 200000', '$ 104000000', 'EUR 14582000',
       '$ 60720000', '$ 4900000', 'MXN 26040000', '$ 8620000',
       '$ 12620000', 'EUR 3500000', '$ 21400000', '$ 162000000',
       'EUR 1800000', '$ 6420000', 'BRL 2500000', 'EUR 1600000',
       'EUR 7870000', '$ 63300000', '$ 13600000', 'JPY 370000000',
       '$ 4250000', 'EUR 11110000', 'DOP 25185569', 'SEK 165000000',
       'EUR 1467000', 'EUR 76000', 'EUR 8900000', 'EUR 960000',
       '$ 183000000', 'ISK 250000000', 'NOK 47500000', 'BRL 500000',
       'NOK 52100000', 'EUR 600', '$ 11400000', 'EUR 5800000',
       'CNY 300000000', 'CAD 8000000', '$ 30100000', 'EUR 30690000',
       '$ 880000', '$ 84500000', 'EUR 514000', 'KRW 100000',
       'JPY 3000000', 'KRW 19000000000', 'EUR 2600000', '$ 29900000',
       '$ 11100000'], dtype=object)

我想把上述货币兑换成美元($)。我不知道该怎么办。这是我试过的。df1['budget']是列的名称。提前谢谢你的帮助

from datetime import date

def currency_conv(x):
    c = CurrencyConverter()
    c = CurrencyConverter('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.zip')
    c = CurrencyConverter(ECB_URL)
    
    for x, currency in df1['budget']:
        c.convert(x, currency, 'US', date(2021, 3, 21))

Tags: eurgbpcadjpydemaudinrhkd
1条回答
网友
1楼 · 发布于 2024-05-12 15:22:18

试试这个:

c = CurrencyConverter()
c = CurrencyConverter('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.zip')
#c = CurrencyConverter(ECB_URL)

def convert(value):
    #SPLIT VALUES
    currency, money = value.split(" ")
    money = int(money)

    ret = ""
    #Don't do anyhting if its already in USD 
    if currency == "$":
        return value
    else:
        try:
          money = c.convert(money, currency, 'USD', date=date(2013, 3, 21))
          return "$ " + str(money)
        except:
          print(currency + " is unsupported")
          return value

df1["budget"] = df1["budget"].apply(convert)

基本上,您当前的代码实际上没有进行任何类型的拆分。您的输入是字符串,而不是数组。通过按空格分割输入,可以计算货币类型和值。(寻找写着SPLIT VALUES的评论)

另外,df.apply函数基本上充当for循环,并将为列表中的每个元素运行该函数。最酷的一点是,它会将所有这些内容作为新的熊猫系列返回,您可以轻松地将其添加到数据框中

相关问题 更多 >