基于文本值在R(R Studio)中对数据进行分类
为DataFrame添加欧盟国家标识列
实现思路
先定义欧盟国家列表,再通过Pandas的isin()结合np.where()(或apply())快速判断每个国家是否属于欧盟,生成对应的标识列。
代码示例
import pandas as pd import numpy as np # 构造示例DataFrame data = { 'Company': ['Company 1', 'Company 2', 'Company 3'], 'Country': ['Spain', 'Sweden', 'USA'] } df = pd.DataFrame(data) # 定义欧盟国家列表(可根据实际需求补充完整所有欧盟成员国) eu_countries = ['Austria', 'Belgium', 'Bulgaria', 'Croatia', 'Cyprus', 'Czechia', 'Denmark', 'Estonia', 'Finland', 'France', 'Germany', 'Greece', 'Hungary', 'Ireland', 'Italy', 'Latvia', 'Lithuania', 'Luxembourg', 'Malta', 'Netherlands', 'Poland', 'Portugal', 'Romania', 'Slovakia', 'Slovenia', 'Spain', 'Sweden'] # 方式1:使用np.where生成新列 df['EU/NONEU'] = np.where(df['Country'].isin(eu_countries), 'EU', 'NON EU') # 方式2:使用apply生成新列(效果一致) # df['EU/NONEU'] = df['Country'].apply(lambda x: 'EU' if x in eu_countries else 'NON EU') # 查看结果 print(df)
输出结果
| Company | Country | EU/NONEU |
|---|---|---|
| Company 1 | Spain | EU |
| Company 2 | Sweden | EU |
| Company 3 | USA | NON EU |
内容的提问来源于stack exchange,提问作者Carmen Moreno Martínez
相关产品推荐
相关产品推荐

