我试图将NaN
分配给无法从str更改为int的列中的值。例如,04
可以更改为int,而Or
不能更改为int。
答案 0 :(得分:1)
您可以使用.isdigit()首先检查该值,然后将其转换为int
答案 1 :(得分:0)
如果s
是您的string
值,而n
是您的int
,请使用:
try:
n = int(s)
except:
n = 'NaN'
答案 2 :(得分:0)
假设您正在使用熊猫的DataFrame。
def convert_str_to_digit(x):
if x.isdigit():
return int(x)
else:
return np.nan
df['your_column'].apply(convert_str_to_digit, inplace=True)
答案 3 :(得分:-1)
这是我的实现方式
value_list=['04','Or','130.4','AA','','-4']
y_list=[]
for value in value_list:
try:
y_list.append(int(value))
except:
y_list.append('nan')
print(y_list) #[4, 'nan', 'nan', 'nan', 'nan', -4]