【Python茴香豆系列】之 PANDAS 获取 DataFrame 的行数
【Python茴香豆系列】之 PANDAS 获取 DataFrame 的行数
用 Python 编程,使用不同的方法来完成同一个目标,有时候是一件很有意思的事情。这让我想起鲁迅笔下的孔乙己。孔乙己对于茴香豆的茴字的四种写法颇有研究。我不敢自比孔乙己,这里搜集一些 Python 的茴香豆,以飨各位码农。
一共有多少条数据?这大概是数据分析工作最基本的内容吧。
这里,我们来聊一聊如何获取 Pandas 中 DataFrame 的行数。
首先准备一个用于测试的 DataFrame 。这个 DataFrame 有 3 列,名称分别为 a 、 b 和 c :
>>> import numpy as np
>>> import pandas as pd
>>> df = pd.DataFrame({'a':[None,2,3], 'b':[4,5,6], 'c':[7,8,9]})
>>> dfa b c
0 NaN 4 7
1 2.0 5 8
2 3.0 6 9
茴香豆一 count:
SQL 语句有一个 SELECT count (*) FROM some_table
,
DataFrame 同样有一个 count
函数可以用来计数,示例如下:
>>> df['a'].count()
2
等等,怎么会是 2 ?结果应该是三才对啊!原来, count
会把 NaN
剔除, a 列中有 NaN
,所以结果不对,我们看看 b 列就对了:
>>> df['b'].count()
3
可是,我们不能保证每一次碰到的 b 列都没有空值啊,于是我们自己造一列出来:
>>> df['aa'] = 1
>>> dfa b c aa
0 NaN 4 7 1
1 2.0 5 8 1
2 3.0 6 9 1
>>> df['aa'].count()
3
好吧,至此,任务勉强完成了,但是…有一点丑陋。
茴香豆二 shape:
经过艰苦卓绝的学习,我发现 DataFrame 有一个 shape 函数。这是一个奇妙的函数,示例如下:
>>> df.shape
(3, 3)
于是,这样就可以得到结果了:
>>> df.shape[0]
3
厉害吧,神奇吧。
但是 shape 得到的是两个数字,我们只要一个数字,在这里,是不是有点浪费呢?
茴香豆三 len:
Python 有一个内置的 len ,一般来说,内置的东西总是高级一点。我们来试试:
>>> len(df)
3
那么这个 len 背后又是什么呢?在 IPython 中检查一下:
In [1]: df.__len__??
Signature: df.__len__() -> int
Source:def __len__(self) -> int:"""Returns length of info axis, but here we use the index."""return len(self.index)
上面的 shape 又是什么呢?
In [2]: df.shape??
Type: property
Source:
# df.shape.fget
@property
def shape(self) -> Tuple[int, int]:"""Return a tuple representing the dimensionality of the DataFrame......."""return len(self.index), len(self.columns)
茴香豆四 index:
从以上两个源代码可以看出,我们应当这样使用 len :
>>> len(df.index)
3
茴香豆五 再来三个:
山外青山楼外楼, Python 永远还有茴香豆。再来三个:
df.index.size
len(df.axes[0])
df.pipe(len)
【Python茴香豆系列】之 PANDAS 获取 DataFrame 的行数相关推荐
- Pandas 获取 Dataframe 总的行数 和 列数
Pandas 获取 DataFam 总的行数 和 列数 返回列数: df.shape[1] 返回行数: df.shape[0] 或者:len(df)
- pandas: 获取Dataframe的行数和列数
返回列数: df.shape[1] 返回行数: df.shape[0] 或者:len(df)
- 【Pandas】获取DataFrame的行数和列数
项目场景 >>> import pandas as pd >>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4] ...
- 如何获取Dataframe的行数和列数
返回列数: df.shape[1] 返回行数: df.shape[0] 或者: len(df) 示例: import pandas as pddf = pd.DataFrame({'a':[1,2,3 ...
- Pandas 获得 Dataframe 的行数和列数
输入(DataFrame): 0 1 23 4 56 7 89 10 11 1. 计算行数 df.shape[0] 或者: len(df) 或者: len(df.index) 2. 计算列数 df. ...
- 【Python茴香豆系列】之 PANDAS 修改 DataFrame 列名
[Python茴香豆系列]之 PANDAS 修改 DataFrame 列名 用 Python 编程,使用不同的方法来完成同一个目标,有时候是一件很有意思的事情.这让我想起鲁迅笔下的孔乙己.孔乙己对于茴 ...
- 【Python茴香豆系列】之 PANDAS 如何遍历 DataFrame 的所有行
[Python茴香豆系列]之 PANDAS 如何遍历 DataFrame 的所有行 用 Python 编程,使用不同的方法来完成同一个目标,有时候是一件很有意思的事情.这让我想起鲁迅笔下的孔乙己.孔乙 ...
- python对csv数据提取某列的某些行_python pandas获取csv指定行 列的操作方法
pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: house_info.loc[3:6]类似于python的切片 ...
- python pandas读取csv文件指定行_python pandas获取csv指定行 列的操作方法
python pandas获取csv指定行 列的操作方法 pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: ho ...
最新文章
- boost::hana::append用法的测试程序
- windows消息机制和Linux,Windows消息机制初谈 (转)
- CodeForces - 1341F Nastya and Time Machine(dfs+构造)
- datatable怎么根据两列分组_谈谈怎么做服务隔离
- maven 引入war
- 求朋友圈的个数 Friend Circles
- HDU5470 Typewriter SAM 动态规划 单调队列
- pku 1639 Picnic Planning 最小度限制生成树
- 协议(Protocol)类比java中的interface
- 揭秘Spring——《Spring 揭秘》读书笔记纲要
- 专业的售后服务管理系统
- 自主开发的3D打印软件
- java留言板源码_jsp留言板示例源码下载(入门级)
- DHCP服务的八种报文(消息)作用
- 什么是移动端,它和pc端有什么区别
- 柴静《看见》中一段深有感触的话
- Python 3.8 官网文档(中文版附下载)
- 少儿编程 中国电子学会scratch等级考试一级历年真题解析【已更新至2023年3月 持续更新】
- 辞职后五险一金怎么办?史上最全处理办法汇总-千氪
- 怎样看待Android的发展前景?以及Android开发的职业规划
热门文章
- JD6606S用于USB的PD充电协议IC资料
- 以原始套接字的方式 截获流经本机网卡的IP数据包
- apex显示服务器不同步,apex云服务器不同步
- sphinx语音识别(1)-基本介绍
- 中国电信2019笔试题——求前后重叠的最长子字符串长度,基于java语言
- php大道至简之laravel-debugbar插件
- linux 修改proc目录,Linux_Linux中系统参数修改命令sysctl的使用讲解,sysctl配置与显示在/proc/sys目录 - phpStudy...
- 超宽屏幕比例_变身超宽显示器!21:9分辨率修改攻略
- 蛋花花谈人工智能发展的利与弊
- 动漫人物头发怎么画出水彩效果?水彩头发怎么画出层次感