pandas - 打印特定月份数据帧的最后 10 行,不包括最后一行
问题描述
我想打印 2007 年 2 月数据框的最后 10 行,但不考虑最后一行。
数据框包含日期作为索引,其中包含数列包括数值。
到目前为止,我已经尝试过这种方法:
df['2007-02'].iloc[:-1,:].last('10D')
是否有另一种打印方式但忽略最后一行?而不是删除它。此外,通过使用这种方法,我得到了一个未来警告,我可能会使用其他不会很快被弃用的技术吗?
解决方案
你的 FutureWarning 被提出是因为你不使用loc
for df['2007-02']
。
您可以获得最后 11 行并排除最后一行:
>>> df.loc['2007-02'].last('11D')[:-1]
# OR
>>> df.loc['2007-02'][:-1].last('10D')
A B C
2007-02-18 2 1 1
2007-02-19 6 10 7
2007-02-20 4 8 2
2007-02-21 2 3 3
2007-02-22 5 5 1
2007-02-23 7 2 5
2007-02-24 6 1 3
2007-02-25 5 5 6
2007-02-26 5 8 7
2007-02-27 5 8 7
设置
dti = pd.date_range('2007-02-10', '2007-03-10', freq='D')
df = pd.DataFrame(np.random.randint(1, 10, (len(dti), 3)),
index=dti, columns=list('ABC'))
print(df)
# Output:
A B C
2007-02-10 4 5 6
2007-02-11 2 7 5
2007-02-12 1 2 2
2007-02-13 4 6 1
2007-02-14 6 2 6
2007-02-15 8 4 4
2007-02-16 1 7 7
2007-02-17 3 8 5
2007-02-18 2 1 1
2007-02-19 6 10 7
2007-02-20 4 8 2
2007-02-21 2 3 3
2007-02-22 5 5 1
2007-02-23 7 2 5
2007-02-24 6 1 3
2007-02-25 5 5 6
2007-02-26 5 8 7
2007-02-27 5 8 7
2007-02-28 2 6 4
2007-03-01 7 4 7
2007-03-02 4 1 6
2007-03-03 2 1 5
2007-03-04 4 8 6
2007-03-05 7 6 6
2007-03-06 3 2 1
2007-03-07 2 3 6
2007-03-08 7 7 3
2007-03-09 5 6 8
2007-03-10 3 4 7
推荐阅读
- sql - 如何在 django 中使用 NOT IN sql 查询
- google-maps - 启用地理编码 API 时,Google Maps JavaScript API 抛出“ExpiredKeyMapError”
- javascript - 如何修复这个简单的均值计算器以使其正常工作,以及如何制作它以便它需要尽可能多的数字?
- python - xlsxwriter pandas frame:如果列中有空白单元格,则突出显示行
- electron - Electron:如何删除不需要的模块?
- javascript - 谁将 mp4 文件转换为 Wav 音频文件?
- c# - 如何将 ping 的用户名和变量传递给机器人命令
- generics - 特质不能变成对象
- node.js - 如何将模型结果传递给节点 js 中的视图
- javascript - 如何在继续之前使用 JavaScript Fetch API 等待响应?