36_Pandas获取行数,列数和元素总数(大小)
作者:互联网
36_Pandas获取行数,列数和元素总数(大小)
如何获取pandas.DataFrame和pandas.Series的行数,列数和总元素(大小)。
- pandas.DataFrame
- 显示行数,列数等:df.info()
- 获取行数:len(df)
- 获取列数:len(df.columns)
- 获取行数和列数:df.shape
- 获取元素总数(大小):df.size
- 指定index时的注意事项
- pandas.Series
- 获取元素总数(大小):len(s),s.size
将以泰坦尼克号幸存者数据为例。
- 获取元素总数(大小):len(s),s.size
import pandas as pd
df = pd.read_csv('./data/36/train.csv')
print(df.head())
# PassengerId Survived Pclass \
# 0 1 0 3
# 1 2 1 1
# 2 3 1 3
# 3 4 1 1
# 4 5 0 3
#
# Name Sex Age SibSp \
# 0 Braund, Mr. Owen Harris male 22.0 1
# 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1
# 2 Heikkinen, Miss. Laina female 26.0 0
# 3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1
# 4 Allen, Mr. William Henry male 35.0 0
#
# Parch Ticket Fare Cabin Embarked
# 0 0 A/5 21171 7.2500 NaN S
# 1 0 PC 17599 71.2833 C85 C
# 2 0 STON/O2. 3101282 7.9250 NaN S
# 3 0 113803 53.1000 C123 S
# 4 0 373450 8.0500 NaN S
pandas.DataFrame
显示行数,列数等:df.info()
使用pandas.DataFrame的info()方法,可以显示信息,例如行数/列数,总内存使用量,每列的数据类型以及不缺少值的元素数。
df.info()
# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 891 entries, 0 to 890
# Data columns (total 12 columns):
# PassengerId 891 non-null int64
# Survived 891 non-null int64
# Pclass 891 non-null int64
# Name 891 non-null object
# Sex 891 non-null object
# Age 714 non-null float64
# SibSp 891 non-null int64
# Parch 891 non-null int64
# Ticket 891 non-null object
# Fare 891 non-null float64
# Cabin 204 non-null object
# Embarked 889 non-null object
# dtypes: float64(2), int64(5), object(5)
# memory usage: 83.6+ KB
结果输出到标准输出,不能作为值获得。
获取行数:len(df)
可以使用Python内置函数len()获得pandas.DataFrame中的行数。 在示例中,它与print()一样显示,但是由于len()返回整数值,因此可以将其分配给其他变量或用于计算。
print(len(df))
# 891
获取列数:len(df.columns)
pandas.DataFrame中的列数可以通过将len()应用于columns属性来获得。
print(len(df.columns))
# 12
获取行数和列数:df.shape
可以使用pandas.DataFrame的shape属性按元组(行数,列数)获取行数和列数。
print(df.shape)
# (891, 12)
print(df.shape[0])
# 891
print(df.shape[1])
# 12
也可以通过解压缩将它们存储在不同的变量中。
row, col = df.shape
print(row)
# 891
print(col)
# 12
获取元素总数(大小):df.size
可以使用size属性获取pandas.DataFrame中的元素总数。这等于行数*列数的值。
print(df.size)
# 10692
print(df.shape[0] * df.shape[1])
# 10692
指定index时的注意事项
如果使用set_index()方法将数据列指定为索引,则该列将从数据主体中删除(值属性),因此不会计入列数。
df_multiindex = df.set_index(['Sex', 'Pclass', 'Embarked', 'PassengerId'])
print(len(df_multiindex))
# 891
print(len(df_multiindex.columns))
# 8
print(df_multiindex.shape)
# (891, 8)
print(df_multiindex.size)
# 7128
有关set_index(),请参见以下文章。
pandas.Series
从pandas.DataFrame中提取一行作为pandas.Series的示例。
s = df['PassengerId']
print(s.head())
# 0 1
# 1 2
# 2 3
# 3 4
# 4 5
# Name: PassengerId, dtype: int64
获取元素总数(大小):len(s),s.size
由于pandas.Series是一维的,因此可以使用len()或size属性获取元素的总数(大小)。 请注意,shape属性是具有1个元素的元组。
print(len(s))
# 891
print(s.size)
# 891
print(s.shape)
# (891,)
pandas.Series中没有info()方法。
标签:891,df,36,len,pandas,列数,print,Pandas 来源: https://blog.csdn.net/qq_18351157/article/details/113917648