Python Pandas lambda函数来更改列的所有值?

2024-06-28 11:18:23 发布

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

我有以下数据帧:

AIRCRAFT
B738 (C-GKWJ)
A321 (C-FJNX)

使用这段代码只提取类型

^{pr2}$

我的期望是:

AIRCRAFT       TYPE
B738 (C-GKWJ)  B738
A321 (C-FJNX)  A321

但我得到了:

AIRCRAFT       TYPE
B738 (C-GKWJ)  B738 (C-GKWJ)
A321 (C-FJNX)  A321 (C-FJNX)

当测试extract_类型的函数时,它工作得很好

 def extract_type(aircraft):
     return aircraft.split(" ")[0]

    extract_type("B737 (C-GWJT)")

返回“B737”

为什么它不能与数据帧和lambda函数一起工作?谢谢


Tags: 数据函数代码类型typeextractaircraftpr2
1条回答
网友
1楼 · 发布于 2024-06-28 11:18:23

你可以用结构分裂在

data['TYPE'] = data['AIRCRAFT'].str.split().str[0]

你得到了

^{pr2}$

你也可以使用str.提取物虽然分裂是理想的

 data['TYPE'] = data['AIRCRAFT'].str.extract('(\w+)\s\(', expand = False)

相关问题 更多 >