栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python next(df.dropna().tail(1).iterrows()) 为啥不报错

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python next(df.dropna().tail(1).iterrows()) 为啥不报错

inp = [{'c1':10, 'c2':100}, {'c1':11, 'c2':110}, {'c1':12, 'c2':123}]
df = pd.DataFrame(inp)
print(df,"n")

test_row = next(df.dropna().tail(1).iterrows())
print(test_row,"n")
输出:

c1 c2
0 10 100
1 11 110
2 12 123

(2, c1 12
c2 123
Name: 2, dtype: int64)

在这里,探究一个点,为啥上述代码没有报错。

因为对 df 除去含空值的行后的 dataframe: df.fropna().tail(1)用 iterrows方法,应该已经是最后一行了。再用 next 应该读到空数据报错才对,但是没有。因为 dataframe: df.fropna().tail(1) 得到一个临时的dataframe,得到 dataframe 首行的数据是要用一次 next()方法的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/928924.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号