15588686105 发表于 2021-11-11 12:56:06

python数据预处理 空缺值

需要对数据的第一列id进行空缺值处理id形式如下:
1:用户名49959
2:用户名49958
...
49958:用户名2
49959:用户名1

思路是找到空缺值并利用上一个的id数字减一来填充
有代码实现吗,我是想在循环中首先找到空缺值位置,然后把其上一个不为空的id用filler过滤出其中的数字,最后减一再利用字符串拼接加上 ’用户‘
但是filler还要有一个函数的参数,我还要为此再写一个函数吗,这只是第一个小问,这样写会不会太麻烦了,我的代码能力较弱,老哥们能教一下吗,拜托了

傻眼貓咪 发表于 2021-11-11 17:56:36

麻烦到不会,只是完全不懂你在说什么?如果有输入和输出的例子最好。

15588686105 发表于 2021-11-11 18:28:45

傻眼貓咪 发表于 2021-11-11 17:56
麻烦到不会,只是完全不懂你在说什么?如果有输入和输出的例子最好。

就是能教一下怎么把这些数据进行缺失值填补吗,思路越详细越好感谢感谢

傻眼貓咪 发表于 2021-11-11 18:58:10

15588686105 发表于 2021-11-11 18:28
就是能教一下怎么把这些数据进行缺失值填补吗,思路越详细越好感谢感谢

不晓得是不是你要的代码:names = {49959: "小白", 49958: None, 49957: "小黑", 49956: "小花"} # 假设 49958 为空(None)

def insert(name):
    global names # 定义全局变量
    id = .sort(reverse = True) # 将 id 设成列表(逆序 - 由大至小排列)
    for i in id: # 开始循环
      if not names: # 假设 id 位置为空(None)
            names = name # 则存入名字
            return # 退出函数

while True:
    name = input() # 输入名字
    if name == 'end': # 这是自定义退出 while 条件
      break
    else:
      insert(name) # 调用以上函数

print(names) # 打印所有名字

15588686105 发表于 2021-11-11 23:49:17

傻眼貓咪 发表于 2021-11-11 18:58
不晓得是不是你要的代码:

嗯嗯好的老哥,我是第一次做一个完整的项目。只是一个简单的预处理就这么麻烦是正常的吗{:5_99:}
页: [1]
查看完整版本: python数据预处理 空缺值