在dataframe string列中,我希望基于行的值派生一个新列,直到下一个值再次出现。最有效的方法是什么/最干净的方法是什么?你知道吗
输入数据帧:
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
1)如果第一列包含“城市”,请将其复制到第二列,但切掉“城市”部分
2)使用正向填充方法填充NA
结果:
结果:
使用
.str.extract
+ffill
您只需
map
一个按预期运行的自定义函数这将返回预期输出
相关问题 更多 >
编程相关推荐