热线电话:13121318867

登录
2019-03-12 阅读量: 752
根据行的某个值派生新的pandas列并应用

在pandas数据帧字符串列中,我想基于行的值派生新列,直到再次出现下一个值。最有效的方法是什么/干净的方法来做到这一点?

输入数据帧:

import pandas as pd

df = pd.DataFrame({'neighborhood':['Chicago City', 'Wicker Park', 'Bucktown','Lincoln Park','West Loop','River North','Milwaukee City','Bay View','East Side','South Side','Bronzeville','North Side','New York City','Harlem','Midtown','Chinatown']})

我想要的数据帧输出是:

neighborhood city

0 Chicago City Chicago

1 Wicker Park Chicago

2 Bucktown Chicago

3 Lincoln Park Chicago

4 West Loop Chicago

5 River North Chicago

6 Milwaukee City Milwaukee

7 Bay View Milwaukee

8 East Side Milwaukee

9 South Side Milwaukee

10 Bronzeville Milwaukee

11 North Side Milwaukee

12 New York City New York

13 Harlem New York

14 Midtown New York

15 Chinatown New York

解决办法:使用.str.extract+ffill

df['city'] = df.neighborhood.str.extract('(.*)\sCity').ffill()

11.0829
2
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子