Sha*_* Lu 1 python function dataframe
我有一个数据框:
AATest=pd.DataFrame({'IDNUM': ['1234\t','234', 'Spreedsheet ', '2345\t', '1257 ']})
AATest
Run Code Online (Sandbox Code Playgroud)
我想将数据集清理成以下结果:
AATest=pd.DataFrame({'IDNUM': ['1234', '2345', '1257']})
AATest
Run Code Online (Sandbox Code Playgroud)
所以我写了一个函数,但结果它没有按我预期的那样工作,有人可以帮忙解决任何问题吗?非常感谢~
IDNUM
0 1234\t
2 Spreedsheet
3 2345\t
4 1257
def removedeb(data):
if (data['IDNUM'].str.len()<4).any():
data.drop(data[data['IDNUM'].str.len()<4].index, inplace=True)
elif (data['IDNUM'].str.len()>4).any():
data=data['IDNUM'].str.strip('\t').str.strip().to_frame()
elif (data['IDNUM'].str.contains('Spreedsheet')).any():
data.drop(data[data['IDNUM'].str.contains('Spreedsheet')].index, inplace=True)
else: return data
removedeb(AATest)
Run Code Online (Sandbox Code Playgroud)
看看这是否适合你:
a = {'IDNUM': ['1234\t','234', 'Spreedsheet ', '2345\t', '1257 ']}
for key, value in a.items():
temp = []
for i in value:
try:
if len(i.strip()) != len(i):
temp.append(str(int(i.strip())))
except ValueError:
continue
a[key] = temp
print(a)
Run Code Online (Sandbox Code Playgroud)
这个的输出是: {'IDNUM': ['1234', '2345', '1257']}
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |