2024-05-18 21:05:17 发布
网友
我有一个dataframe,它有一个包含许多不同类型裤子的'Trousers'列。大多数裤子都是从他们的类型开始的。例如:牛仔裤-重放蓝,或奇诺-优衣库-~,或可能聪明的下一个-~)。其他的只有一个类型,但只有一个长名称(2或3个字符串) 我想通过该列循环,如果jeans在单元格中,则将值改为just Jean,如果Chino在单元格中,则将值改为Chinos,依此类推。。。。所以我可以很容易地把他们分组。你知道吗
如何通过我的for循环实现这一点?你知道吗
似乎需要^{},然后按str[0]选择列表的第一个值:
str[0]
df['type'] = df['Trousers'].str.split('-').str[0]
样品:
df = pd.DataFrame({'Trousers':['Jeans- Replay-blue','Chino- Uniqlo-~','Smart-Next-~']}) print (df) Trousers 0 Jeans- Replay-blue 1 Chino- Uniqlo-~ 2 Smart-Next-~ df['type'] = df['Trousers'].str.split('-').str[0] print (df) Trousers type 0 Jeans- Replay-blue Jeans 1 Chino- Uniqlo-~ Chino 2 Smart-Next-~ Smart
df['Trousers'] = df['Trousers'].str.split('-').str[0] print (df) Trousers 0 Jeans 1 Chino 2 Smart
使用^{}的另一种解决方案:
df['Trousers'] = df['Trousers'].str.extract('([a-zA-z]+)-', expand=False) print (df) Trousers 0 Jeans 1 Chino 2 Smart
似乎需要^{} ,然后按
str[0]
选择列表的第一个值:样品:
使用^{} 的另一种解决方案:
相关问题 更多 >
编程相关推荐