Pandas:仅在数据帧的开头和结尾删除 NaN
- 作者: 扫黄大队长_
- 来源: 51数据库
- 2022-11-15
问题描述
我有一个看起来像这样的 pandas DataFrame:
I've got a pandas DataFrame that looks like this:
sum 1948 NaN 1949 NaN 1950 5 1951 3 1952 NaN 1953 4 1954 8 1955 NaN
我想只在开头和结尾截断 NaN(即只保留从 1950 到 1954 的值,包括 NaN).我已经尝试过 .isnull() 和 dropna(),但不知何故我找不到合适的解决方案.有人可以帮忙吗?
and I would like to cut off the NaNs at the beginning and at the end ONLY (i.e. only the values incl. NaN from 1950 to 1954 should remain). I already tried .isnull() and dropna(), but somehow I couldn't find a proper solution. Can anyone help?
推荐答案
使用内置的first_valid_index 和 last_valid_index 它们是专门为此设计的,并对你的 df 进行切片:
Use the built in first_valid_index and last_valid_index they are designed specifically for this and slice your df:
In [5]:
first_idx = df.first_valid_index()
last_idx = df.last_valid_index()
print(first_idx, last_idx)
df.loc[first_idx:last_idx]
1950 1954
Out[5]:
sum
1950 5
1951 3
1952 NaN
1953 4
1954 8
推荐阅读
热点文章
Discord.py(重写)on_member_update 无法正常工作
0
Discord.py 在 vc 中获取用户分钟数
0
discord.py 重写 |为我的命令出错
0
Discord.py rewrite 如何 DM 命令?
0
播放音频时,最后一部分被切断.如何解决这个问题?(discord.py)
0
在消息删除消息 Discord.py
0
如何使 discord.py 机器人私人/直接消息不是作者的人?
0
(Discord.py) 如何获取整个嵌入内容?
0
Discord bot 尽管获得了许可,但不能提及所有人
0
Discord.py discord.NotFound 异常
0
