pandas的dataframe提供了多种方法获取其中数据的行的数量,本偏文章就是介绍几种获取dataframe行和列出量的方法。
为了能够详细说明如何通过代码获取dataframe的行数和列数,需要先创建一个dataframe如下:
import pandas as pdtechnologies= {'Language':["English","Chinese","Korean","Spanish","Germany"],'Tuition Fee' :[11000,15000,13000,14000,12000],'Duration':['30days','50days','30days', "10days","100days"],'Discount':[0.9,0.8,0.5,0.6,0.3]}
df = pd.DataFrame(technologies)
print(df)
运行结果如下:
从运行结果可以得到,行的数量是5行,列的数量是4列。
一、 需要注意的两个函数
dataframe.size
dataframe虽然也提供了size函数,但是,它并不是返回纯粹的行的数量,如下代码,尝试打印出size的值,
print("DataFrame.size", str(df.size))
打印的结果是:
可以看出,返回的是行和列数量的乘积,所以,切记不能用错了。
dataframe.count
dataframe虽然也提供了count函数,但是,它返回的数值和行的数量以及列的数量也没啥关系,如下代码,尝试打印出count的值,
print("DataFrame.Count", df.count())
打印结果是:
根据dataframe.count的说明文档,它的作用主要是统计每一列或者行【根据第一个参数axis,0表示行,1表示列】的不是NA的值的数量。不过,根据count返回的结果可以知道,它可以用于统计行的数量和列的数量,详细可以参考下述的第四种方法。
二、 获取行数和列数的四种方法:
第一种方法、是通过dataframe或者index获取行的数量:
print('行的数量是:', len(df.index))
print('行的数量是:', len(df))
print('列的数量是:', len(df.columns))
打印的结果,如下:
第二种方法、是通过DataFrame.axes
获取行的数量:
print('df.axes 行的数量是:', len(df.axes[0]))
print('df.axes 列的数量是:', len(df.axes[1]))
得到的结果如下:
DataFrame.axes相当于一个坐标轴,0表示横坐标,也就是行的数量,1表示纵坐标,也就是列的数量。
第三种方法、是通过DataFrame.
shape[0]获取行的数量:
row_count = df.shape[0] # 返回行的数量
col_count = df.shape[1] # 返回列的数量
print('df.shape 行的数量是:', row_count )
print('df.shape 列的数量是:', col_count )
打印结果如下:
第四种方法、是通过DataFrame.
count()获取行的数量:
print('df.count() 返回的结果是:', df.count() )
通过结果可以看出,这里的dataframe的count函数,其实是返回每一列有多少个元素。要想获取具体的行的数量和列的数量,需要进一步解析dataframe.count返回的变量的内容,示例代码如下:
print("df.Count 行的数量是:", len(df.count(axis=0)))
print("df.Count 列的数量是:", len(df.count(axis=1)))
打印结果如下:
在本文中,介绍了如何使用DataFrame查找/获取DataFrame中的行数和列数。希望您能够通过本文进一步裂解dataframe的内部结构。