楼主: abcsk
1301 4

[问答] python初级缺失数据补充问题:求解答 [推广有奖]

  • 2关注
  • 9粉丝

副教授

94%

还不是VIP/贵宾

-

威望
0
论坛币
19470 个
通用积分
34.0385
学术水平
20 点
热心指数
41 点
信用等级
26 点
经验
15873 点
帖子
394
精华
1
在线时间
924 小时
注册时间
2008-7-5
最后登录
2024-4-9

20论坛币
我是python初学者,碰到了非常基础的一个问题,但是实在解决不了,故恳求前辈们帮忙,以20论坛币作为感谢,小小意思,望不吝赐教。问题如下:
获取的原始数据如表1所示,某些数据缺失,难以处理的是,缺失的数据还未使用NaN填充,使得我这菜鸟完全无法补充;而我想要的数据如表2所示。红色即为需要填充的数据。
           表1                                                                                   表2
原数据.png                      整理数据.png
求救在python下有什么命令或者函数可以实现这种补充?

最佳答案

fengxingliulizi 查看完整内容

还有其他方法,你可以想想,比如for一下,或lambda
关键词:python 缺失数据 求解答 20论坛币 原始数据
沙发
fengxingliulizi 发表于 2017-12-14 15:33:53 |只看作者 |坛友微信交流群
还有其他方法,你可以想想,比如for一下,或lambda
  1. import pandas as pd

  2. #长度
  3. yearlen = 3
  4. codelen = 3

  5. #年份
  6. year = [2010, 2011, 2012]*codelen

  7. #代码
  8. code = sorted(list(range(1,codelen+1))*yearlen)

  9. sheet2 = pd.DataFrame({'年份':year, '代码':code})

  10. data = [[2010,1,500],
  11.         [2011,1,300],
  12.         [2012,1,600],
  13.         [2011,2,800],
  14.         [2011,3,152],
  15.         [2012,3,186]]
  16. sheet1 = pd.DataFrame(data, columns=['年份', '代码', '现金流量'])

  17. sheet = pd.merge(sheet1, sheet2, how='right', on=['年份', '代码'])
  18. sheet = sheet.fillna(0)
  19. sheet = sheet.sort_values(by=['年份', '代码'])
  20. sheet.index = range(len(sheet))
复制代码




使用道具

藤椅
eeabcde 发表于 2017-12-15 11:30:49 |只看作者 |坛友微信交流群
直接 用python下的插入函数试一试

使用道具

板凳
abcsk 发表于 2017-12-17 19:55:09 |只看作者 |坛友微信交流群
fengxingliulizi 发表于 2017-12-14 15:33
还有其他方法,你可以想想,比如for一下,或lambda
非常非常感谢。我试着看能否加入循环。

使用道具

报纸
abcsk 发表于 2017-12-17 20:19:22 |只看作者 |坛友微信交流群
fengxingliulizi 发表于 2017-12-14 15:33
还有其他方法,你可以想想,比如for一下,或lambda
我最后使用了两个函数解决了这个问题,也发给您看看。
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
loandata = pd.read_excel('test.xls') #读入数据,读进来就是数据框,无须再生成
df=loandata.sort_values(by=['股票代码','季度'])#重排数据
s=DataFrame(df.现金.values, index=[df['股票代码'], df['季度']])#生成序列,提取的是货币资金数据,以代码作为第一层,即每个公司的数据,以季度作为第二层索引
M=s.unstack()#把s按照代码为横向index,列为季度重新生成,缺失数据使用NaN补齐

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 19:40