为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

富国沪深 2023-03-16 09:47:29
我正在尝试分配NaN给无法从 str 更改为 int 的列中的值。例如,04可以更改为 int 而Or不能。
查看完整描述

4 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

您可以使用 .isdigit() 首先检查值,然后将其转换为 int



查看完整回答
反对 回复 2023-03-16
?
慕村9548890

TA贡献1884条经验 获得超4个赞

如果s是你的string价值和nint然后使用:

try:
   n = int(s) 
except:
   n = 'NaN'


查看完整回答
反对 回复 2023-03-16
?
慕慕森

TA贡献1856条经验 获得超17个赞

假设您使用的是 panda 的 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)


查看完整回答
反对 回复 2023-03-16
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

这是我的实现:


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]


查看完整回答
反对 回复 2023-03-16
  • 4 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信