gpt4 book ai didi

python - 如何从 Pandas 数据框中的可变长度列中提取子字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 07:28:21 25 4
gpt4 key购买 nike

您好,我正在尝试使用 python 中的 pandas 数据框中的列来完成类似于 excel 中的 mid 函数的操作。我有一个列,其中包含可变长度的药物名称 + 强度等。我只想提取名称的第一个“部分”并将结果放入数据框中的另一列。

例子:

Dataframe 列

MEDICATION_NAMEacetaminophen 325 mga-hydrocort 100 mg/2 ml

Desired Result

MEDICATION_NAME               GENERIC_NAMEacetaminophen 325 mg          acetaminophen     a-hydrocort 100 mg/2 ml       a-hydrocort

What I have tried

df['GENERIC_NAME'] = df['MEDICATION_NAME'].str[:df['MEDICATION_NAME'].apply(lambda x: x.find(' '))]

基本上我想应用

的行特定结果
df['GENERIC_NAME'] = df['MEDICATION_NAME'].apply(lambda x: x.find(' '))

 str[:] 
功能?

谢谢

最佳答案

您可以使用 str.partition [pandas-doc]这里:

df['GENERIC_NAME'] = df['MEDICATION_NAME'].str.partition(' ')[0]

对于给定的列,这给出:

>>> g.str.partition(' ')[0]
0 acetaminophen
1 a-hydrocort
Name: 0, dtype: object

partition 本身从一个系列创建一个包含三列的数据框:之前、匹配和之后:

>>> df['MEDICATION_NAME'].str.partition(' ')
0 1 2
0 acetaminophen 325 mg
1 a-hydrocort 100 mg/2 ml

关于python - 如何从 Pandas 数据框中的可变长度列中提取子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53233104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com