我正在尝试开发一个函数来检查VIN的长度并返回一个输出
为了测试,如果长度=17,我让它打印出vin。但是,它清楚地打印出所有内容。不知道我做错了什么
下面的代码示例
import pandas as pd
#initialization
df = pd.DataFrame(columns = ["vin"], data = ['LHJLC79U58B001633','SZC84294845693987','LFGTCKPA665700387','L8YTCKPV49Y010001',
'LJ4TCBPV27Y010217','LFGTCKPM481006270','LFGTCKPM581004253','LTBPN8J00DC003107',
'1A9LPEER3FC596536','1A9LREAR5FC596814','1A9LKEER2GC596611','1A9L0EAH9C596099',
'22A000018'])
df['manufacturer'] = ['A','A','A','A','B','B','B','B','B','C','C','D','D']
#develop function
def check_vin(df):
if len(df['vin'][1]) == 17:
print(df['vin'])
else:
print('nogo')
#test the function
for index, row in df.iterrows():
check_vin(df)
您只需找到
17
长度的行,如下所示这是因为您在每次迭代中都要求相同事物的长度(df['vin'][1])
更改为
以及
输出
不要手动迭代行。可以使用“将新列指定给条件逻辑”:
相关问题 更多 >
编程相关推荐