我有一个子字符串列表,我想检查数据框中的哪些列包含这些子字符串,以便更改它们的数据类型
例如,如果“Amount”是列表中的子字符串,则名称为Cred_Amount、Amount_123、Amount的列的数据类型应更改为int
lst = ["Amount", "ID"]
df = pd.DataFrame({'ID_Loan': [2199, 3994, 8499, 74889, 83479],'Loan_Amount': ['100', '122', '222', '350', '300'],'Team': ['Boston', 'Boston', 'Boston', 'Chele', 'Barse'],'CreditAmount': [89, 79, 113, 78, 84],'College': ['MIT', 'MIT', 'MIT', 'Stanford', 'Stanford'],'ID_Num': [99999, 99994, 89999, 78889, 87779]})
df
ID_Loan Loan_Amount Team CreditAmount College ID_Num
0 2199 100 Boston 89 MIT 99999
1 3994 122 Boston 79 MIT 99994
2 8499 222 Boston 113 MIT 89999
3 74889 350 Chele 78 Stanford 78889
4 83479 300 Barse 84 Stanford 87779
我希望将第1、2、4和6列更改为int数据类型
使用
filter
选择并使用astype
转换:另外,我已经将您的列列表重命名为
lst
,因为使用list
会隐藏内置项,这是一种不好的做法另一个选项是使用
str.contains
获得带有loc
的掩码和切片:最后,还可以将
astype
与字典一起使用,有选择地转换某些列,但返回整个数据帧相关问题 更多 >
编程相关推荐