我有一个熊猫数据框,其中包含从csv文件提取的列。我想提取其中一列包含包含特定数字的字符串。它显示了一个TypeError
,我认为这是因为该列的对象数据类型,但是在提取工作期间设置该列的数据类型都没有,也没有astype
在该特定列上工作。早些时候,我从Excel文件中提取了同一列,并且正则表达式对此起作用了,没问题。
工作头如下:
Transaction Date PARTICULARS DEPOSITS WITHDRAWALS Amount Dr/Cr Calc_Amount Calc RRN Number RRN-AMT
0 2019-05-30 UPI/914923281641/UPI/raghu.m.v2016@o/ 0 32.86 32.86 Dr 32.86 914923281641 0100
1 2019-05-30 UPI/915000512028/UPI/hemanth1999kuma/ 0 0.95 0.95 Dr 0.95 915000512028 0100
2 2019-05-30 UPI/RVSL915000512028/UPI/hemanth1999kuma/ 0.95 0 0.95 Cr -0.95 915000512028 0100
3 2019-05-30 UPI/914923451855/UPI/tpmanzoor55@okh/Federal Bank 1.19 0 1.19 Cr -1.19 914923451855 0100
4 2019-05-30 UPI/914923339262/UPI/ravimaurya8735@/ 0 0.94 0.94 Dr 0.94 914923339262 0100
通过此代码:
for i, row in bank_statement_30May.iterrows():
result = [e for e in re.split("[^0-9]",row[1]) if e != '']
bank_statement_30May.loc[i,"Calc RRN Number"] = max(map(int,result))
这是第二个代码中的错误:
result = [e for e in re.split("[^0-9]",row[1]) if e != '']
File "C:\Users\Suraj Joshi\AppData\Local\Programs\Python\Python37\lib\re.py", line 213, in split
return _compile(pattern, flags).split(string, maxsplit)
TypeError: cannot use a string pattern on a bytes-like object
答案 0 :(得分:0)
你的意思是?
bank_statement_30May['Calc RRN Number'] = bank_statement_30May['Calc RRN Number'].astype(str).applymap(lambda x: int(max(x, key=int)))