示例 DF:
我有一个 df 列,如Zone, New_Zone, Country, New_Region&Currency
Currency列具有像EUR, AUD, BLR, 之类的值RUB
Zone列的值类似于EU, Africa,NAZ
New_Zone具有像EU, Europe, EUROPE, Africa, NAZ, 的值AFRICA
Country具有像Australia, Brazil, Russia, Ukraine, 之类的值USA
New_Region具有像Australia, Brazil, 的值USA
因此,列Zone和New_Zone包含几乎相似的值New_Region和Country几乎相似的值
问:
我想创建一个Currency_Match具有以下条件的新列:
如果 Zone 是 EU OR (logical) New_Zone 是 EU, Europe 或 EUROPE AND (logical)CurrencyEUR那么 Yes else No
如果 Country 是 Australia OR(逻辑)New_Region 是 Austraila AND(逻辑)Currency 是AUDYes else No
如果 Country 是巴西OR(逻辑)New_Region 是巴西AND(逻辑)货币BLR则是 Yes else No
如果国家是韩国OR(逻辑)New_Region 是韩国AND(逻辑)货币KRW则是 Yes else No
如果 Zone 是 Africa OR(逻辑)New_Zone 是 Africa 或 AFRICA,AND(逻辑)CurrencyNGN则是 Yes else No
6 如果 Zone 是 NAZ OR(逻辑)New_Zone 是 NAZ,AND(逻辑)CurrencyUSD则是 Yes else No
7 如果国家是俄罗斯,乌克兰OR(逻辑)New_Region 是俄罗斯AND(逻辑)货币RUB则是 Yes else No
我总共有 7 个条件,就像上面的这些
代码:
df['Currency_Match']=df.apply(lambda row: "Yes" if (((row['Zone'] == "EU")|(row['New_Zone'] =='Europe')|(row['New_Zone'] =='EU')|(row['New_Zone'] =='EUROPE'))
& (row["Contract - Original Currency Code"] == "EUR"))
else 'No',axis=1)
问题:
上面的代码运行良好,但是当我编写这样的其他条件时,它会一次又一次地更新列。
他们有没有其他方法可以做到这一点,而且比这更不麻烦
HUWWW
慕森卡
随时随地看视频慕课网APP
相关分类