问题描述
country amount
USA 34
USA 21
China 5
France 7
Italy 9
USA 1
Spain 10
Ireland 12
我想基于大陆创建三个变量:美国,中国和欧洲,并使用“金额”列进行进一步的计算。
对于美国和中国,我确实是这样:
usa = df.loc[df['country']=='USA']['country']
china = df.loc[df['country']=='China (Mainland)']['country']
对于欧洲,我陷入困境,因为我需要在该列中包含所有欧洲国家并保持其指数(即相应的金额)。
是否可以从“国家”中减去美国和中国,以获取其余(欧洲国家)并将其存储在变量“欧洲”中?
例如,最终目标是获得所有欧洲国家的总和,不幸的是,没有另一个“标记”将它们区分为欧洲国家。
解决方法
检查
EU = df.loc[~df['country'].isin(['USA','China (Mainland)'])]['country']
,
您可以获得除subset(vec,vec%%3!=0)
或USA
以外的所有国家/地区。
为此,您可以使用以下
China
,
美国和中国不是大洲:)
df['continent'] = 'Europe'
df['continent'][df['country']=='USA'] = 'USA'
df['continent'][df['country']=='China'] = 'China (Mainland)'