对Pandas DataFrame重新取样的问题。

刚开始使用Pandas的时候,遇到了重新采样DataFrame的问题。 我从EXCEL中读取数据并打印出前10行,所以

print df[:5]

给出了这个

                 Date           pnew
0 2009-12-23 16:41:00       4.242328
1 2009-12-24 16:41:00       4.248494
2 2009-12-25 16:41:00       4.257310
3 2009-12-26 16:41:00       4.262042
4 2009-12-27 16:41:00       4.264798

这与XL文件中的数据完全相同。 然而,在后面的数据中,有一些缺失的天数,所以我想用NaN’s来填充它们。 我的代码是这样的

    dg = df.asfreq('D')
    print(dg)

但现在我得到这个。

           Date           pnew
1970-01-01  NaT            NaN

和我期待的不一样… … 我认为答案是微不足道的(如果你知道……),但我很困惑。 所有的建议都欢迎–谢谢

解决方案:

asfreq 只有当你的日期列是索引时才会有效。

s="""Date,pnew
2009-12-23 16:41:00,4.242328
2009-12-24 16:41:00,4.248494
2009-12-25 16:41:00,4.257310
2009-12-27 16:41:00,4.264798"""
df = pd.read_csv(StringIO(s))
df['Date'] = pd.to_datetime(df['Date'])

df.set_index('Date').asfreq('D')

                         pnew
Date                         
2009-12-23 16:41:00  4.242328
2009-12-24 16:41:00  4.248494
2009-12-25 16:41:00  4.257310
2009-12-26 16:41:00       NaN
2009-12-27 16:41:00  4.264798

给TA打赏
共{{data.count}}人
人已打赏
未分类

SonarQube OpenEdge自定义规则,用Proparse验证&IF预处理器。

2022-9-25 21:05:22

未分类

Python序列比较

2022-9-25 21:16:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索