转整数
  X5zJxoD00Cah 2023年11月02日 17 0
def canbe_int(x: float= 0):
    try:
        int(x)
        return True
    except ValueError:
        return False
    except TypeError: # None
        return False

知识点还是要成系统化

'''
设计一个函数 满足:
    如果对象格式是两位数浮点数 保留浮点数格式
    如果对象格式是字符串 保留字符串格式
    如果对象格式是整数或一位数浮点数 转化为整数字符串
目的是:
    使编码类对象格式化
问题:
    同一列内 包含 nan 字符串 none 不能直接转int
解决:
    遍历表格的每一列
        遍历该列的每一行
            判断:如果同一列内元素 是整数或一位数浮点数或nan 则转化为整数字符串
            否则:则不处理
'''
def to_int_str(df: pd.core.frame.DataFrame = pd.DataFrame()): # 函数在import pandas as pd之后
    for i in df: # 遍历每一列
        for j in df.loc[:,i]: # 遍历该列的每一行
            if 如果同一列内元素 是整数或一位数浮点数或nan

等待后解决:

import pandas as pd
import numpy as np

def canbe_int(x: float= 0):
    try:
        int(x)
        return True
    except ValueError:
        return False
    except TypeError: # None
        return False

def to_int_str(df: pd.core.frame.DataFrame = pd.DataFrame({"c1":[1.1,np.nan],"c2":[3.1,"?"]})): # 函数在import之后
    for i in df: # 遍历每一列
        seri_bool = df.loc[:,i].apply(canbe_int) # 判断该列内的每个元素
        df.loc[seri_bool,i] = df.loc[seri_bool,i].astype("int64").astype(str) # 筛选并转化格式
    return df
to_int_str()


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年12月11日   26   0   0 知乎Python迭代器
  X5zJxoD00Cah   2023年12月12日   34   0   0 Python.net
X5zJxoD00Cah