从 pandas 中的 read_csv 获取对象大小

Get object size from read_csv in pandas

我读取了一个 csv 文件并找到了它的大小

import pandas as pd
data = pd.read_csv("train.csv")
data.size

我的结果是10692 但我尝试另一种方式

y = data["Survived"]

这次我只得到了891的长度。我认为它必须是 10692。 你想找出不同之处吗? 我在这里下载数据

https://www.kaggle.com/c/titanic/data?select=train.csv

这是预期的,因为DataFrame.size工作方式不同,它计算了DataFrame的所有值。

data = pd.DataFrame({
        'A':list('abcdef'),
         'B':[4,5,4,5,5,4],
         'Survived':[7,8,9,4,2,3],

})

print (data)
   A  B  Survived
0  a  4         7
1  b  5         8
2  c  4         9
3  d  5         4
4  e  5         2
5  f  4         3

#3 columns x 6 rows = 18
print (data.size)
18

y = data["Survived"]
print (y)
0    7
1    8
2    9
3    4
4    2
5    3
Name: Survived, dtype: int64

#nuber of values in Series/column
print (y.size)
6

如果想要行数和列数:

print (data.shape)
(6, 3)

或行数:

print (len(data))
6

此外,data.info() 是获取有关 DataFrame 的形状信息的另一种方法。要在内存使用方面获得准确的“大小”,只需添加参数 memory_usage="deep".

10692 是数据集包含的元素总数。

它有 891 行和 12 列。

df = pd.read_csv("train.csv")
df.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
 #   Column       Non-Null Count  Dtype  
---  ------       --------------  -----  
 0   PassengerId  891 non-null    int64  
 1   Survived     891 non-null    int64  
 2   Pclass       891 non-null    int64
   .....