【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 的行数相关推荐

  1. Pandas 获取 Dataframe 总的行数 和 列数

    Pandas 获取 DataFam 总的行数 和 列数 返回列数: df.shape[1] 返回行数: df.shape[0] 或者:len(df)

  2. pandas: 获取Dataframe的行数和列数

    返回列数: df.shape[1] 返回行数: df.shape[0] 或者:len(df)

  3. 【Pandas】获取DataFrame的行数和列数

    项目场景 >>> import pandas as pd >>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4] ...

  4. 如何获取Dataframe的行数和列数

    返回列数: df.shape[1] 返回行数: df.shape[0] 或者: len(df) 示例: import pandas as pddf = pd.DataFrame({'a':[1,2,3 ...

  5. Pandas 获得 Dataframe 的行数和列数

    输入(DataFrame): 0 1 23 4 56 7 89 10 11 1. 计算行数 df.shape[0] 或者:  len(df) 或者: len(df.index) 2. 计算列数 df. ...

  6. 【Python茴香豆系列】之 PANDAS 修改 DataFrame 列名

    [Python茴香豆系列]之 PANDAS 修改 DataFrame 列名 用 Python 编程,使用不同的方法来完成同一个目标,有时候是一件很有意思的事情.这让我想起鲁迅笔下的孔乙己.孔乙己对于茴 ...

  7. 【Python茴香豆系列】之 PANDAS 如何遍历 DataFrame 的所有行

    [Python茴香豆系列]之 PANDAS 如何遍历 DataFrame 的所有行 用 Python 编程,使用不同的方法来完成同一个目标,有时候是一件很有意思的事情.这让我想起鲁迅笔下的孔乙己.孔乙 ...

  8. python对csv数据提取某列的某些行_python pandas获取csv指定行 列的操作方法

    pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: house_info.loc[3:6]类似于python的切片 ...

  9. python pandas读取csv文件指定行_python pandas获取csv指定行 列的操作方法

    python pandas获取csv指定行 列的操作方法 pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: ho ...

最新文章

  1. boost::hana::append用法的测试程序
  2. windows消息机制和Linux,Windows消息机制初谈 (转)
  3. CodeForces - 1341F Nastya and Time Machine(dfs+构造)
  4. datatable怎么根据两列分组_谈谈怎么做服务隔离
  5. maven 引入war
  6. 求朋友圈的个数 Friend Circles
  7. HDU5470 Typewriter SAM 动态规划 单调队列
  8. pku 1639 Picnic Planning 最小度限制生成树
  9. 协议(Protocol)类比java中的interface
  10. 揭秘Spring——《Spring 揭秘》读书笔记纲要
  11. 专业的售后服务管理系统
  12. 自主开发的3D打印软件
  13. java留言板源码_jsp留言板示例源码下载(入门级)
  14. DHCP服务的八种报文(消息)作用
  15. 什么是移动端,它和pc端有什么区别
  16. 柴静《看见》中一段深有感触的话
  17. Python 3.8 官网文档(中文版附下载)
  18. 少儿编程 中国电子学会scratch等级考试一级历年真题解析【已更新至2023年3月 持续更新】
  19. 辞职后五险一金怎么办?史上最全处理办法汇总-千氪
  20. 怎样看待Android的发展前景?以及Android开发的职业规划

热门文章

  1. JD6606S用于USB的PD充电协议IC资料
  2. 以原始套接字的方式 截获流经本机网卡的IP数据包
  3. apex显示服务器不同步,apex云服务器不同步
  4. sphinx语音识别(1)-基本介绍
  5. 中国电信2019笔试题——求前后重叠的最长子字符串长度,基于java语言
  6. php大道至简之laravel-debugbar插件
  7. linux 修改proc目录,Linux_Linux中系统参数修改命令sysctl的使用讲解,sysctl配置与显示在/proc/sys目录 - phpStudy...
  8. 超宽屏幕比例_变身超宽显示器!21:9分辨率修改攻略
  9. 蛋花花谈人工智能发展的利与弊
  10. 动漫人物头发怎么画出水彩效果?水彩头发怎么画出层次感