Python - 数据框的维度

114

刚接触Python。

在R中,可以使用dim(...)获取矩阵的维度。那么在Python Pandas中,如何获取数据框的对应函数?

答案: df.shape

2
获取DataFrame和Series的维度信息的所有方法的详细摘要请参见下面的答案:https://dev59.com/XmYr5IYBdhLWcg3wJ2-U#47139464 - Ted Petrou
2个回答

181

df.shape,其中df是您的数据框。


40

DataFrame或Series的维度信息获取方式总结

有多种方式可以获取DataFrame或Series的属性信息。

创建示例DataFrame和Series

df = pd.DataFrame({'a':[5, 2, np.nan], 'b':[ 9, 2, 4]})
df

     a  b
0  5.0  9
1  2.0  2
2  NaN  4

s = df['a']
s

0    5.0
1    2.0
2    NaN
Name: a, dtype: float64

shape属性

shape属性返回一个包含数据框的行数和列数的二元组。对于一个系列,它返回一个单项元组。

df.shape
(3, 2)

s.shape
(3,)

len 函数

要获取 DataFrame 的行数或 Series 的长度,请使用 len 函数。函数会返回一个整数。

len(df)
3

len(s)
3

size属性

要获取DataFrame或Series中元素的总数,请使用size属性。对于DataFrame,这是行数和列数的乘积。对于Series,这将等同于len函数:

df.size
6

s.size
3

ndim 属性

ndim 属性返回您的 DataFrame 或 Series 的维数。对于 DataFrame,它将始终为 2,而对于 Series,则为 1:

df.ndim
2

s.ndim
1

棘手的count方法

count方法可用于返回DataFrame每个列/行的非缺失值数量。这可能会令人困惑,因为大多数人通常认为count只是每行的长度,但实际上并非如此。在DataFrame上调用时,将返回一个Series,其中索引中包含列名,而值是非缺失值的数量。

df.count() # by default, get the count of each column

a    2
b    3
dtype: int64


df.count(axis='columns') # change direction to get count of each row

0    2
1    2
2    1
dtype: int64

对于一个Series,它只有一个轴用于计算,因此它只返回一个标量:

s.count()
2

使用info方法检索元数据

info方法返回每列的非缺失值数量和数据类型。

df.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
a    2 non-null float64
b    3 non-null int64
dtypes: float64(1), int64(1)
memory usage: 128.0 bytes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接