Python:如何将货币对视为按相反顺序形成的货币对?
我想按货币对分组行,但遇到了一些问题。根据输入,对于前两行,USD GBP和GBP USD实际上指的是同一货币对,但货币顺序相反。我如何将它们视为相同的货币,并将VR列按相同的货币对求和?非常感谢 可在下面找到输入:Python:如何将货币对视为按相反顺序形成的货币对?,python,pandas,database,dataframe,Python,Pandas,Database,Dataframe,我想按货币对分组行,但遇到了一些问题。根据输入,对于前两行,USD GBP和GBP USD实际上指的是同一货币对,但货币顺序相反。我如何将它们视为相同的货币,并将VR列按相同的货币对求和?非常感谢 可在下面找到输入: Qualifier FirstCurrency SecondCurrency VR 0 USDGBP USD GBP 50000 1 GBPUSD GBP U
Qualifier FirstCurrency SecondCurrency VR
0 USDGBP USD GBP 50000
1 GBPUSD GBP USD 60000
2 BRLUSD BRL USD 90000
3 EURQAR EUR QAR 30000
4 HKDKRW HKD KRW -10000
5 CNYSGD CNY SGD 20000
6 RUBTRY RUB TRY -14570
7 KRWBRL KRW BRL 28650
您可以尝试在对以下货币进行sirting后创建一个
元组
df['grpupable']=df['Qualifier'].apply(lambda x:tuple(排序([x[:3],x[3:]))
示例:现在您可以像这样对它们进行分组
df.groupby(['grpupable'])['VR'].sum()
更新:
要更改FirstCurrency
和LastCurrency
使用。或者您可以创建一个新列
df['FirstCurrency']=df['grpupable'].str[0]
df['SecondCurrency']=df['grpupable'].str[1]
#或
#df['CurrencyA']=df['grpupable'].str[0]
#df['CurrencyB']=df['grpupable'].str[1]
非常感谢您的帮助!在对VR求和后,如何将元组df['grpupable']转换为df?我想将元组分成两个货币列,以便以后进一步计算。@user15253500检查更新
grpupable
(BRL, KRW) 28650
(BRL, USD) 90000
(CNY, SGD) 20000
(EUR, QAR) 30000
(GBP, USD) 110000
(HKD, KRW) -10000
(RUB, TRY) -14570