将无法从str更改为int的值转换为列中的nan值

时间:2020-07-18 12:10:41

标签: python data-wrangling

我试图将NaN分配给无法从str更改为int的列中的值。例如,04可以更改为int,而Or不能更改为int。

4 个答案:

答案 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]