熊猫:在熊猫列的中间拆分字符串并创建一个新列?

时间:2020-08-28 05:55:00

标签: python pandas

如何从Python Pandas Dataframe列['Contract']中的字符串中拆分或提取第一个数字序列(即200828),并将其作为新列['Temp']添加到Dataframe中,丢掉剩下的?注意:所需数字序列的前面字母可以有1,2、3或4个字符(即A,AA,ABT,ADBE)。

      Contract
1     ABT200828C00087000              
2    ADBE200828C00550000

1 个答案:

答案 0 :(得分:1)

您可以使用一些选项。可以使用Chris和Sushanth建议的方法。您也可以使用df['Contract'].str.contains('204')获取布尔值。用数据框包装它以获取您要查找的记录。

这是我编写的示例代码:

import pandas as pd

df = pd.DataFrame({'col1':[8,12,14,16],
                   'Contract':['A2042','Ball2043','Cold2052','Dance2054'],
                   'col3':[True, False, False, True]})
print(df)

d1 = df[df['Contract'].str.contains('204')]

print(d1)

输出为:

在下面的示例中,我正在搜索字符串'204',如果找到,则在新的DataFrame d1

中创建一条记录

原始DataFrame:

   col1   Contract   col3
0     8      A2042   True
1    12   Ball2043  False
2    14   Cold2052  False
3    16  Dance2054   True

新数据框:

   col1  Contract   col3
0     8     A2042   True
1    12  Ball2043  False