- Titanic data
本教程使用泰坦尼克号数据集,它以 CSV 格式存储。该数据包含以下数据列:
PassengerId:每位乘客的 ID。
Survived:乘客是否存活的指示。
0表示生存,1表示死亡。Pclass:3 个票务等级之一:
1等、2等和3等。Name:乘客姓名。
Sex:乘客性别。
Age:乘客年龄(以年为单位)。
SibSp:船上兄弟姐妹或配偶的数量。
Parch:船上父母或子女的数量。
Ticket:乘客的票号。
Fare:指示票价。
Cabin:乘客的客舱号。
Embarked:登船港口。
如何读写表格式数据?#
我想分析泰坦尼克号乘客数据,这些数据以 CSV 文件形式提供。
pandas 提供了
read_csv()函数,用于将 CSV 文件中存储的数据读入 pandasDataFrame。pandas 开箱即用地支持许多不同的文件格式或数据源(csv、excel、sql、json、parquet 等),每个都有read_*前缀。
读取数据后,请务必始终检查数据。显示 DataFrame 时,默认会显示前 5 行和后 5 行:
我想查看 pandas DataFrame 的前 8 行。
要查看
DataFrame的前 N 行,请使用head()方法,并将所需行数(本例中为 8)作为参数。
备注
对最后 N 行感兴趣?pandas 还提供了 tail() 方法。例如,titanic.tail(10) 将返回 DataFrame 的最后 10 行。
可以检查 pandas 如何解释每种列数据类型的,方法是请求 pandas 的 dtypes 属性:
列出了每种列使用的。此 DataFrame 中的数据类型包括整数(int64)、浮点数(float64)和字符串(object)。
备注
在请求 dtypes 时,不使用括号!dtypes 是 DataFrame 和 Series 的一个属性。DataFrame 或 Series 的属性不需要括号。属性代表 DataFrame/Series 的一个特征,而方法(需要括号)则对 DataFrame/Series 执行 操作,如 first tutorial 中所述。
我的同事请求了泰坦尼克号数据作为电子表格。
虽然
read_*函数用于将数据读入 pandas,但to_*方法用于存储数据。to_excel()方法将数据存储为 excel 文件。在此示例中,sheet_name被命名为 passengers 而不是默认的 Sheet1。通过设置index=False,行索引标签不会保存在电子表格中。
等效的读取函数 read_excel() 将把数据重新加载到 DataFrame 中:
我对
DataFrame的技术摘要感兴趣info()方法提供了关于DataFrame的技术信息,所以让我们更详细地解释一下输出:它确实是一个
DataFrame。有 891 个条目,即 891 行。
每行都有一个行标签(也称为
index),值为 0 到 890。该表有 12 列。大多数列对于每一行都有一个值(所有 891 个值都是
non-null)。一些列确实有缺失值,并且non-null的值少于 891 个。Name、Sex、Cabin和Embarked列包含文本数据(字符串,也称为object)。其他列是数字数据,其中一些是整数(也称为integer),另一些是实数(也称为float)。不同列中的数据类型(字符、整数等)通过列出
dtypes进行汇总。还提供了用于保存 DataFrame 所需的 RAM 的近似量。
REMEMBER
read_*函数支持将数据获取到 pandas 中,这些数据可以来自许多不同的文件格式或数据源。不同的
to_*方法提供将数据导出到 pandas 之外的功能。head/tail/info方法和dtypes属性对于初次检查很方便。
有关输入输出可能性的完整概述,请参阅用户指南中关于 reader and writer functions 的部分。