同一列中有几个货币符号?
Several currency symbols in same column?
当我在同一列中有不同的货币时,如何在 'Price' 列下插入货币符号(如 $、€..)?
data = [['Shampoo', 0.60, 'USD'],
['Soap', 0.19, 'EURO'],
['Pen', 0.1, 'JPY'],
]
df = pd.DataFrame(data, columns = ['Stuff', 'Price', 'Currency'])
df
创建一个 mapping
字典,将每种货币映射到其对应的符号,然后使用 Series.map
映射 currency
列中的值,然后将映射的列与 price
专栏:
mapping = {'USD': '$', 'EURO': '€', 'JPY': '¥'}
df['Price'] = df['Currency'].map(mapping) + df['Price'].astype(str)
# print(df)
Stuff Price Currency
0 Shampoo [=11=].6 USD
1 Soap €0.19 EURO
2 Pen ¥0.1 JPY
你可以这样做:
curr = {
'USD': '$',
'EURO': '€',
'JPY': '¥',
}
df = pd.DataFrame(data, columns = ['Stuff', 'Price', 'Currency'])
df['Price'] = df.apply(lambda x: curr[x['Currency']] + ' ' + str(x['Price']), axis=1)
print(df)
Stuff Price Currency
0 Shampoo $ 0.6 USD
1 Soap € 0.19 EURO
2 Pen ¥ 0.1 JPY
当我在同一列中有不同的货币时,如何在 'Price' 列下插入货币符号(如 $、€..)?
data = [['Shampoo', 0.60, 'USD'],
['Soap', 0.19, 'EURO'],
['Pen', 0.1, 'JPY'],
]
df = pd.DataFrame(data, columns = ['Stuff', 'Price', 'Currency'])
df
创建一个 mapping
字典,将每种货币映射到其对应的符号,然后使用 Series.map
映射 currency
列中的值,然后将映射的列与 price
专栏:
mapping = {'USD': '$', 'EURO': '€', 'JPY': '¥'}
df['Price'] = df['Currency'].map(mapping) + df['Price'].astype(str)
# print(df)
Stuff Price Currency
0 Shampoo [=11=].6 USD
1 Soap €0.19 EURO
2 Pen ¥0.1 JPY
你可以这样做:
curr = {
'USD': '$',
'EURO': '€',
'JPY': '¥',
}
df = pd.DataFrame(data, columns = ['Stuff', 'Price', 'Currency'])
df['Price'] = df.apply(lambda x: curr[x['Currency']] + ' ' + str(x['Price']), axis=1)
print(df)
Stuff Price Currency
0 Shampoo $ 0.6 USD
1 Soap € 0.19 EURO
2 Pen ¥ 0.1 JPY