简体   繁体   English

如何将多行合并为一行并在Pandas中命名?

[英]how to merge a multiple of rows into one row and name it in Pandas?

I have a dataframe: 我有一个数据框:

age sex country 
25   m   USA
30   f   Canada
65   f   china
42   m   Indonesia
32   f   mexico

I want to convert the country to 2 categories and then I want to generate 2 columns of dummy variables: 我想将国家/地区转换为2类,然后要生成2列虚拟变量:

North America=(USA, Canada, Mexico).
Asia= (China, Indonesia)

You can make a single column named continent and get your result:- 您可以创建一个名为continent的单列并获得结果:

df = pd.DataFrame(data = {'age':[25,23,26], 'sex':['m','f','f'], 'country': 
['mexico','china','usa']})

north_america = ['usa','mexico','canada']
asia = ['china','indonesia']

def change(country):
    if country in north_america:
        return "North America"
    elif country in asia:
        return "Asia"


df['continent'] = df['country'].apply(change)
df

Output 输出量

       age  sex country continent
   0    25  m   mexico  North America
   1    23  f   china   Asia
   2    26  f   usa North America

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM