我有一个pandas数据框,其中有一个名为“City,State,Country”的列。我想把这个专栏分成三个新的专栏:“城市”、“州”和“国家”。
0 HUN
1 ESP
2 GBR
3 ESP
4 FRA
5 ID, USA
6 GA, USA
7 Hoboken, NJ, USA
8 NJ, USA
9 AUS
将列拆分为三列非常简单:
location_df = df['City, State, Country'].apply(lambda x: pd.Series(x.split(',')))
但是,这会创建左对齐的数据:
0 1 2
0 HUN NaN NaN
1 ESP NaN NaN
2 GBR NaN NaN
3 ESP NaN NaN
4 FRA NaN NaN
5 ID USA NaN
6 GA USA NaN
7 Hoboken NJ USA
8 NJ USA NaN
9 AUS NaN NaN
如何创建数据右对齐的新列?我需要遍历每一行,计算逗号的数量,并单独处理内容吗?
假设列名为target
既然你在处理字符串,我建议修改你当前的代码
我通过测试其中一根柱子来完成我的工作,但是试试这个。
我想做如下事情:
我想这能满足你的需求,但如果你也想把事情搞得漂亮,得到一个城市、州、国家的列顺序,你可以添加以下内容:
相关问题 更多 >
编程相关推荐