

参考: https://pandas.pydata.org/pandas-docs/stable/getting_started/intro_tutorials/02_read_write.html
上一篇用截图发代码没想到那么糊。。。有时间一定修改。
这篇代码问题终于解决了。
强烈安利Jupyter!
巧了,又是用到数据集: data
数据文件地址:https://github.com/pandas-dev/pandas/tree/master/doc/data/titanic.csv
百度网盘地址:https://pan.baidu.com/s/1q2tLL0Z2MDcOWTjnFU_aFQ 提取码:bxva
本教程使用以CSV格式存储的泰坦尼克号数据集。数据包含以下数据列:
PassengerId: 每位乘客的ID。
Survived: 此项的值分别为 0 和 1 。0 表示未生存,1 表示生存。
Pclass: 有3个类:1类,2类和3类。
Name: 乘客姓名。
Sex: 乘客性别。
Age: 乘客年龄。
SibSp: 表示乘客有兄弟姐妹和配偶。
Parch: 乘客是一个人还是有家人。
Ticket: 乘客的船票编号。
Fare: 票价。
Cabin: 乘客所在的客舱。
Embarked: 出发的类别。

Out[2]
我只想知道泰坦尼克号乘客的年龄。

Out[3]
为了选择单列,使用方括号[],在里面填上列名。
里面的每个单列其实就是一个。我们可以通过检查输出的类型来验证这一点:

Out[4]
我们也可以看看输出的形状():

Out[5]
是和的一种属性,其结果包含行数和列数()。在包中,是一维的,因此只返回它的行数。
如果不是单列呢?我现在认为还需要了解一下乘客的性别。

Out[6]
若要选择多个列,你需要在括号内列表。
注意
内部方括号定义一个包含列名的Python列表;
外部方括号用于从中选择数据,如前面的示例所示。
其返回值是一个。

Out[7]

Out[8]
由此可见,这次选择的有 891 行,2 列。
注意
是二维的!
我又对泰坦尼克号乘客的年龄感兴趣了,但我这次只要 35 岁的乘客数据。

Out[9]
我们在方括号[]中间使用了条件表达式,筛选出了满足条件的行。
方括号里面的条件表达式负责筛选满足“列的值大于 35 的行。

Out[10]
条件表达式(,但也可以是,,,,…)的输出实际上是一个与原始具有相同行数的布尔值(True或False)的。这样一组()布尔值可用于筛选,方法是将其放在方括号之间。只有值为“”才会被选择。
我们已经得知,泰坦尼克号数据模型由 891 行组成。让我们通过检查的属性来查看满足条件的行数:

Out[11]
我现在对位于第 2 类和第 3 类船舱()的乘客感兴趣了。

Out[12]
与条件表达式相类似,控制函数isin()对于括号里提供的列表,如果能够与该行相对应,返回True。在方括号[]内使用这个条件函数,以达到筛选各行的作用。在这个示例中,方括号里的条件titanic["Pclass"].isin([2, 3])检查各行的Pclass列是否为 2 或 3 。
上面那个示例是只要满足为 2 或 3 就可以了,之间是或()的关系,与下面这个示例是等价的:

Out[13]
注意
在同时使用多个条件语句时,必须用括号包括每个条件。
不能使用or/and,但需要使用or操作符和and操作符。
我想要挑出已知年龄的乘客数据。

Out[14]
条件控制函数motna()对对应值不是空值(Null)的各行返回布尔值True。因此,可以将它与选择方括号[]相结合来过滤数据表。
你可能想知道事实上这里到底有什么不同,因为在前 5 行似乎看不出什么,一个很明显的区别就是属性不一样了:

Out[15]
我现在找的样本要求大于 35 岁,但我不想要一堆乱七八糟的信息,我只想知道他们的名字。

Out[16]
在这种情况下,行和列的子集都是一次性完成的,仅仅使用选择方括号[]已经不够了。loc/iloc操作符必须放在选择括号[]前面。在使用loc/iloc时,逗号前的部分是您想要的行,逗号后的部分是您想要选择的列。
*.loc[您想要选择的行,您想要选择的列]
当使用列名、行标签或条件表达式时,请在选择方括号前使用操作符。对于逗号前后的部分,可以使用单个标签、标签列表、标签片段、条件表达式或冒号。使用冒号指定要选择所有行或列。
我感兴趣的是第 10 行到第 25 行和第 3 列到第 5 列之间的数据。

Out[17]
同样,行和列的子集是一次性完成的,仅仅使用选择方括号[]已经不够了。可以根据行和(或)列在表中的位置进行筛选时,请在选择方括号[]前面使用iloc操作符。
当选择具有或的特定行和(或)列时,可以为所选数据分配新值。例如,将名字“anonymous”分配给第三列的前 3 个元素:

Out[18]
小节
选择数据的子集的时候需要使用方括号[]。
在这些括号中,可以使用单个列/行标签、列/行标签列表、标签片段、条件表达式或冒号。
在使用行名和列名时,使用loc选择特定的行和(或)列。
明确数据在表中的位置时,使用iloc选择特定的行和(或)列。
可以根据loc/iloc为你的选择分配新值。