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