鱼C论坛

 找回密码
 立即注册
查看: 2518|回复: 4

[已解决]python数据预处理 空缺值

[复制链接]
发表于 2021-11-11 12:56:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

思路是找到空缺值并利用上一个的id数字减一来填充
有代码实现吗,我是想在循环中首先找到空缺值位置,然后把其上一个不为空的id用filler过滤出其中的数字,最后减一再利用字符串拼接加上 ’用户‘
但是filler还要有一个函数的参数,我还要为此再写一个函数吗,这只是第一个小问,这样写会不会太麻烦了,我的代码能力较弱,老哥们能教一下吗,拜托了
最佳答案
2021-11-11 18:58:10
15588686105 发表于 2021-11-11 18:28
就是能教一下怎么把这些数据进行缺失值填补吗,思路越详细越好感谢感谢


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

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

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

  15. print(names) # 打印所有名字
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-11 17:56:36 | 显示全部楼层
麻烦到不会,只是完全不懂你在说什么?如果有输入和输出的例子最好。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

就是能教一下怎么把这些数据进行缺失值填补吗,思路越详细越好感谢感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-11 18:58:10 | 显示全部楼层    本楼为最佳答案   
15588686105 发表于 2021-11-11 18:28
就是能教一下怎么把这些数据进行缺失值填补吗,思路越详细越好感谢感谢


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

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

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

  15. print(names) # 打印所有名字
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-11 23:49:17 | 显示全部楼层
傻眼貓咪 发表于 2021-11-11 18:58
不晓得是不是你要的代码:

嗯嗯好的老哥,我是第一次做一个完整的项目。只是一个简单的预处理就这么麻烦是正常的吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 23:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表