我有一个 Dataframe ,看起来像这样:
| 类型|城市|
| - ------| - ------|
| 1个|雅加达dki|
| 第二章|巴拉特贾瓦|
| 三个|贾瓦登加|
| 四个|贾瓦帖木儿|
| 五个|苏拉威西|
我想基于城市创建一个名为city_group
的新列。
- dki雅加达、巴拉特:贾博,贾巴尔
- 贾瓦登加,贾瓦登加:贾滕、贾蒂姆
- 苏拉威西岛:其他
所需的 Dataframe 如下所示:
| 类型|城市|城市群|
| - ------| - ------| - ------|
| 1个|雅加达dki|贾博,贾巴尔|
| 第二章|巴拉特贾瓦|贾博,贾巴尔|
| 三个|贾瓦登加|贾滕、贾蒂姆|
| 四个|贾瓦帖木儿|贾滕、贾蒂姆|
| 五个|苏拉威西|其他|
到目前为止,我所做的是与下面的脚本,但我不知道如何把多个字符串的条件。
df.loc[df['city'].str.contains("dki jakarta),'city_group'] = 'jabo, jabar'
我怎样才能得到想要的Pandas Dataframe ?谢谢你提前
1条答案
按热度按时间zujrkrfu1#
创建列表字典,以便通过键进行Map,并在字典理解中将其扁平化,以便可以将
Series.map
与Series.fillna
一起使用-字典中所有不匹配的值在列city_group
中创建others
值: