有问题的值

2024-05-18 21:05:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个dataframe,它有一个包含许多不同类型裤子的'Trousers'列。大多数裤子都是从他们的类型开始的。例如:牛仔裤-重放蓝,或奇诺-优衣库-~,或可能聪明的下一个-~)。其他的只有一个类型,但只有一个长名称(2或3个字符串) 我想通过该列循环,如果jeans在单元格中,则将值改为just Jean,如果Chino在单元格中,则将值改为Chinos,依此类推。。。。所以我可以很容易地把他们分组。你知道吗

如何通过我的for循环实现这一点?你知道吗


Tags: 字符串名称类型dataframeforjean裤子just
1条回答
网友
1楼 · 发布于 2024-05-18 21:05:17

似乎需要^{},然后按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

相关问题 更多 >

    热门问题