Data Processing¶
This tutorial explains how tabular data can be handled and transformed with the Table
class.
Note
All operations on a Table
return a new Table
. The original Table
will not be changed.
Create & Load data¶
- Load your data into a
Table
:
In [1]:
Copied!
from safeds.data.tabular.containers import Table
titanic = Table.from_csv_file("data/titanic.csv")
from safeds.data.tabular.containers import Table
titanic = Table.from_csv_file("data/titanic.csv")
- Create a
Table
containing only the first 10 rows:
In [2]:
Copied!
titanic_slice = titanic.slice_rows(length=10)
titanic_slice # just to show the output
titanic_slice = titanic.slice_rows(length=10)
titanic_slice # just to show the output
Out[2]:
shape: (10, 12)
id | name | sex | age | siblings_spouses | parents_children | ticket | travel_class | fare | cabin | port_embarked | survived |
---|---|---|---|---|---|---|---|---|---|---|---|
i64 | str | str | f64 | i64 | i64 | str | i64 | f64 | str | str | i64 |
0 | "Abbing, Mr. Anthony" | "male" | 42.0 | 0 | 0 | "C.A. 5547" | 3 | 7.55 | null | "Southampton" | 0 |
1 | "Abbott, Master. Eugene Joseph" | "male" | 13.0 | 0 | 2 | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 0 |
2 | "Abbott, Mr. Rossmore Edward" | "male" | 16.0 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 0 |
3 | "Abbott, Mrs. Stanton (Rosa Hun… | "female" | 35.0 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 1 |
4 | "Abelseth, Miss. Karen Marie" | "female" | 16.0 | 0 | 0 | "348125" | 3 | 7.65 | null | "Southampton" | 1 |
5 | "Abelseth, Mr. Olaus Jorgensen" | "male" | 25.0 | 0 | 0 | "348122" | 3 | 7.65 | "F G63" | "Southampton" | 1 |
6 | "Abelson, Mr. Samuel" | "male" | 30.0 | 1 | 0 | "P/PP 3381" | 2 | 24.0 | null | "Cherbourg" | 0 |
7 | "Abelson, Mrs. Samuel (Hannah W… | "female" | 28.0 | 1 | 0 | "P/PP 3381" | 2 | 24.0 | null | "Cherbourg" | 1 |
8 | "Abrahamsson, Mr. Abraham Augus… | "male" | 20.0 | 0 | 0 | "SOTON/O2 3101284" | 3 | 7.925 | null | "Southampton" | 1 |
9 | "Abrahim, Mrs. Joseph (Sophie H… | "female" | 18.0 | 0 | 0 | "2657" | 3 | 7.2292 | null | "Cherbourg" | 1 |
- Extract a
Column
from yourTable
:
In [3]:
Copied!
titanic_slice.get_column("name")
titanic_slice.get_column("name")
Out[3]:
shape: (10,)
name |
---|
str |
"Abbing, Mr. Anthony" |
"Abbott, Master. Eugene Joseph" |
"Abbott, Mr. Rossmore Edward" |
"Abbott, Mrs. Stanton (Rosa Hun… |
"Abelseth, Miss. Karen Marie" |
"Abelseth, Mr. Olaus Jorgensen" |
"Abelson, Mr. Samuel" |
"Abelson, Mrs. Samuel (Hannah W… |
"Abrahamsson, Mr. Abraham Augus… |
"Abrahim, Mrs. Joseph (Sophie H… |
- Combine a list of
Column
s to aTable
(make sure theColumn
s have the same amount of rows):
In [4]:
Copied!
Table.from_columns(
[
titanic_slice.get_column("name"),
titanic_slice.get_column("age"),
],
)
Table.from_columns(
[
titanic_slice.get_column("name"),
titanic_slice.get_column("age"),
],
)
Out[4]:
shape: (10, 2)
name | age |
---|---|
str | f64 |
"Abbing, Mr. Anthony" | 42.0 |
"Abbott, Master. Eugene Joseph" | 13.0 |
"Abbott, Mr. Rossmore Edward" | 16.0 |
"Abbott, Mrs. Stanton (Rosa Hun… | 35.0 |
"Abelseth, Miss. Karen Marie" | 16.0 |
"Abelseth, Mr. Olaus Jorgensen" | 25.0 |
"Abelson, Mr. Samuel" | 30.0 |
"Abelson, Mrs. Samuel (Hannah W… | 28.0 |
"Abrahamsson, Mr. Abraham Augus… | 20.0 |
"Abrahim, Mrs. Joseph (Sophie H… | 18.0 |
- Drop columns from a
Table
:
In [5]:
Copied!
titanic_slice.remove_columns(
[
"id",
"name",
"ticket",
"cabin",
"port_embarked",
"survived",
],
)
titanic_slice.remove_columns(
[
"id",
"name",
"ticket",
"cabin",
"port_embarked",
"survived",
],
)
Out[5]:
shape: (10, 6)
sex | age | siblings_spouses | parents_children | travel_class | fare |
---|---|---|---|---|---|
str | f64 | i64 | i64 | i64 | f64 |
"male" | 42.0 | 0 | 0 | 3 | 7.55 |
"male" | 13.0 | 0 | 2 | 3 | 20.25 |
"male" | 16.0 | 1 | 1 | 3 | 20.25 |
"female" | 35.0 | 1 | 1 | 3 | 20.25 |
"female" | 16.0 | 0 | 0 | 3 | 7.65 |
"male" | 25.0 | 0 | 0 | 3 | 7.65 |
"male" | 30.0 | 1 | 0 | 2 | 24.0 |
"female" | 28.0 | 1 | 0 | 2 | 24.0 |
"male" | 20.0 | 0 | 0 | 3 | 7.925 |
"female" | 18.0 | 0 | 0 | 3 | 7.2292 |
- Keep only specified columns of a
Table
:
In [6]:
Copied!
titanic_slice.select_columns(["name", "survived"])
titanic_slice.select_columns(["name", "survived"])
Out[6]:
shape: (10, 2)
name | survived |
---|---|
str | i64 |
"Abbing, Mr. Anthony" | 0 |
"Abbott, Master. Eugene Joseph" | 0 |
"Abbott, Mr. Rossmore Edward" | 0 |
"Abbott, Mrs. Stanton (Rosa Hun… | 1 |
"Abelseth, Miss. Karen Marie" | 1 |
"Abelseth, Mr. Olaus Jorgensen" | 1 |
"Abelson, Mr. Samuel" | 0 |
"Abelson, Mrs. Samuel (Hannah W… | 1 |
"Abrahamsson, Mr. Abraham Augus… | 1 |
"Abrahim, Mrs. Joseph (Sophie H… | 1 |
Process data¶
- Filter rows with a given query:
In [7]:
Copied!
titanic.remove_rows(
lambda row: row["age"] < 1,
)
titanic.remove_rows(
lambda row: row["age"] < 1,
)
Out[7]:
shape: (1_297, 12)
id | name | sex | age | siblings_spouses | parents_children | ticket | travel_class | fare | cabin | port_embarked | survived |
---|---|---|---|---|---|---|---|---|---|---|---|
i64 | str | str | f64 | i64 | i64 | str | i64 | f64 | str | str | i64 |
0 | "Abbing, Mr. Anthony" | "male" | 42.0 | 0 | 0 | "C.A. 5547" | 3 | 7.55 | null | "Southampton" | 0 |
1 | "Abbott, Master. Eugene Joseph" | "male" | 13.0 | 0 | 2 | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 0 |
2 | "Abbott, Mr. Rossmore Edward" | "male" | 16.0 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 0 |
3 | "Abbott, Mrs. Stanton (Rosa Hun… | "female" | 35.0 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 1 |
4 | "Abelseth, Miss. Karen Marie" | "female" | 16.0 | 0 | 0 | "348125" | 3 | 7.65 | null | "Southampton" | 1 |
… | … | … | … | … | … | … | … | … | … | … | … |
1304 | "Zabour, Miss. Hileni" | "female" | 14.5 | 1 | 0 | "2665" | 3 | 14.4542 | null | "Cherbourg" | 0 |
1305 | "Zabour, Miss. Thamine" | "female" | null | 1 | 0 | "2665" | 3 | 14.4542 | null | "Cherbourg" | 0 |
1306 | "Zakarian, Mr. Mapriededer" | "male" | 26.5 | 0 | 0 | "2656" | 3 | 7.225 | null | "Cherbourg" | 0 |
1307 | "Zakarian, Mr. Ortin" | "male" | 27.0 | 0 | 0 | "2670" | 3 | 7.225 | null | "Cherbourg" | 0 |
1308 | "Zimmerman, Mr. Leo" | "male" | 29.0 | 0 | 0 | "315082" | 3 | 7.875 | null | "Southampton" | 0 |
Transform table¶
- Transform table using
Imputer
.Imputer
s replace missing values with other values (e.g. a constant, the mean or the median of the column etc.) depending on the chosen startegy, for example, the followingImputer
will replace missing values in the given columns of the table with the constant 0:
In [8]:
Copied!
from safeds.data.tabular.transformation import SimpleImputer
imputer = SimpleImputer(SimpleImputer.Strategy.constant(0), selector=["age", "fare", "cabin", "port_embarked"]).fit(
titanic,
)
imputer.transform(titanic_slice)
from safeds.data.tabular.transformation import SimpleImputer
imputer = SimpleImputer(SimpleImputer.Strategy.constant(0), selector=["age", "fare", "cabin", "port_embarked"]).fit(
titanic,
)
imputer.transform(titanic_slice)
Out[8]:
shape: (10, 12)
id | name | sex | age | siblings_spouses | parents_children | ticket | travel_class | fare | cabin | port_embarked | survived |
---|---|---|---|---|---|---|---|---|---|---|---|
i64 | str | str | f64 | i64 | i64 | str | i64 | f64 | str | str | i64 |
0 | "Abbing, Mr. Anthony" | "male" | 42.0 | 0 | 0 | "C.A. 5547" | 3 | 7.55 | "0" | "Southampton" | 0 |
1 | "Abbott, Master. Eugene Joseph" | "male" | 13.0 | 0 | 2 | "C.A. 2673" | 3 | 20.25 | "0" | "Southampton" | 0 |
2 | "Abbott, Mr. Rossmore Edward" | "male" | 16.0 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | "0" | "Southampton" | 0 |
3 | "Abbott, Mrs. Stanton (Rosa Hun… | "female" | 35.0 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | "0" | "Southampton" | 1 |
4 | "Abelseth, Miss. Karen Marie" | "female" | 16.0 | 0 | 0 | "348125" | 3 | 7.65 | "0" | "Southampton" | 1 |
5 | "Abelseth, Mr. Olaus Jorgensen" | "male" | 25.0 | 0 | 0 | "348122" | 3 | 7.65 | "F G63" | "Southampton" | 1 |
6 | "Abelson, Mr. Samuel" | "male" | 30.0 | 1 | 0 | "P/PP 3381" | 2 | 24.0 | "0" | "Cherbourg" | 0 |
7 | "Abelson, Mrs. Samuel (Hannah W… | "female" | 28.0 | 1 | 0 | "P/PP 3381" | 2 | 24.0 | "0" | "Cherbourg" | 1 |
8 | "Abrahamsson, Mr. Abraham Augus… | "male" | 20.0 | 0 | 0 | "SOTON/O2 3101284" | 3 | 7.925 | "0" | "Southampton" | 1 |
9 | "Abrahim, Mrs. Joseph (Sophie H… | "female" | 18.0 | 0 | 0 | "2657" | 3 | 7.2292 | "0" | "Cherbourg" | 1 |
- Transform table using
LabelEncoder
, this will encode categorical features in the chosenColumn
s as integers:
In [9]:
Copied!
from safeds.data.tabular.transformation import LabelEncoder
encoder = LabelEncoder(selector=["sex", "port_embarked"]).fit(titanic)
encoder.transform(titanic_slice)
from safeds.data.tabular.transformation import LabelEncoder
encoder = LabelEncoder(selector=["sex", "port_embarked"]).fit(titanic)
encoder.transform(titanic_slice)
Out[9]:
shape: (10, 12)
id | name | sex | age | siblings_spouses | parents_children | ticket | travel_class | fare | cabin | port_embarked | survived |
---|---|---|---|---|---|---|---|---|---|---|---|
i64 | str | u32 | f64 | i64 | i64 | str | i64 | f64 | str | u32 | i64 |
0 | "Abbing, Mr. Anthony" | 0 | 42.0 | 0 | 0 | "C.A. 5547" | 3 | 7.55 | null | 0 | 0 |
1 | "Abbott, Master. Eugene Joseph" | 0 | 13.0 | 0 | 2 | "C.A. 2673" | 3 | 20.25 | null | 0 | 0 |
2 | "Abbott, Mr. Rossmore Edward" | 0 | 16.0 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | null | 0 | 0 |
3 | "Abbott, Mrs. Stanton (Rosa Hun… | 1 | 35.0 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | null | 0 | 1 |
4 | "Abelseth, Miss. Karen Marie" | 1 | 16.0 | 0 | 0 | "348125" | 3 | 7.65 | null | 0 | 1 |
5 | "Abelseth, Mr. Olaus Jorgensen" | 0 | 25.0 | 0 | 0 | "348122" | 3 | 7.65 | "F G63" | 0 | 1 |
6 | "Abelson, Mr. Samuel" | 0 | 30.0 | 1 | 0 | "P/PP 3381" | 2 | 24.0 | null | 1 | 0 |
7 | "Abelson, Mrs. Samuel (Hannah W… | 1 | 28.0 | 1 | 0 | "P/PP 3381" | 2 | 24.0 | null | 1 | 1 |
8 | "Abrahamsson, Mr. Abraham Augus… | 0 | 20.0 | 0 | 0 | "SOTON/O2 3101284" | 3 | 7.925 | null | 0 | 1 |
9 | "Abrahim, Mrs. Joseph (Sophie H… | 1 | 18.0 | 0 | 0 | "2657" | 3 | 7.2292 | null | 1 | 1 |
- Transform table using
OneHotEncoder
, this will create newColumn
s based on unique values in each chosenColumn
:
In [10]:
Copied!
from safeds.data.tabular.transformation import OneHotEncoder
encoder = OneHotEncoder(selector=["sex", "port_embarked"]).fit(titanic)
encoder.transform(titanic_slice)
from safeds.data.tabular.transformation import OneHotEncoder
encoder = OneHotEncoder(selector=["sex", "port_embarked"]).fit(titanic)
encoder.transform(titanic_slice)
Out[10]:
shape: (10, 15)
id | name | age | siblings_spouses | parents_children | ticket | travel_class | fare | cabin | survived | sex__male | sex__female | port_embarked__Southampton | port_embarked__Cherbourg | port_embarked__Queenstown |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
i64 | str | f64 | i64 | i64 | str | i64 | f64 | str | i64 | u8 | u8 | u8 | u8 | u8 |
0 | "Abbing, Mr. Anthony" | 42.0 | 0 | 0 | "C.A. 5547" | 3 | 7.55 | null | 0 | 1 | 0 | 1 | 0 | 0 |
1 | "Abbott, Master. Eugene Joseph" | 13.0 | 0 | 2 | "C.A. 2673" | 3 | 20.25 | null | 0 | 1 | 0 | 1 | 0 | 0 |
2 | "Abbott, Mr. Rossmore Edward" | 16.0 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | null | 0 | 1 | 0 | 1 | 0 | 0 |
3 | "Abbott, Mrs. Stanton (Rosa Hun… | 35.0 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | null | 1 | 0 | 1 | 1 | 0 | 0 |
4 | "Abelseth, Miss. Karen Marie" | 16.0 | 0 | 0 | "348125" | 3 | 7.65 | null | 1 | 0 | 1 | 1 | 0 | 0 |
5 | "Abelseth, Mr. Olaus Jorgensen" | 25.0 | 0 | 0 | "348122" | 3 | 7.65 | "F G63" | 1 | 1 | 0 | 1 | 0 | 0 |
6 | "Abelson, Mr. Samuel" | 30.0 | 1 | 0 | "P/PP 3381" | 2 | 24.0 | null | 0 | 1 | 0 | 0 | 1 | 0 |
7 | "Abelson, Mrs. Samuel (Hannah W… | 28.0 | 1 | 0 | "P/PP 3381" | 2 | 24.0 | null | 1 | 0 | 1 | 0 | 1 | 0 |
8 | "Abrahamsson, Mr. Abraham Augus… | 20.0 | 0 | 0 | "SOTON/O2 3101284" | 3 | 7.925 | null | 1 | 1 | 0 | 1 | 0 | 0 |
9 | "Abrahim, Mrs. Joseph (Sophie H… | 18.0 | 0 | 0 | "2657" | 3 | 7.2292 | null | 1 | 0 | 1 | 0 | 1 | 0 |
- Transform table using
RangeScaler
, this will scale the values in the chosenColumn
s to a given range:
In [11]:
Copied!
from safeds.data.tabular.transformation import RangeScaler
scaler = RangeScaler(selector="age", min=0.0, max=1.0).fit(titanic)
scaler.transform(titanic_slice)
from safeds.data.tabular.transformation import RangeScaler
scaler = RangeScaler(selector="age", min=0.0, max=1.0).fit(titanic)
scaler.transform(titanic_slice)
Out[11]:
shape: (10, 12)
id | name | sex | age | siblings_spouses | parents_children | ticket | travel_class | fare | cabin | port_embarked | survived |
---|---|---|---|---|---|---|---|---|---|---|---|
i64 | str | str | f64 | i64 | i64 | str | i64 | f64 | str | str | i64 |
0 | "Abbing, Mr. Anthony" | "male" | 0.524008 | 0 | 0 | "C.A. 5547" | 3 | 7.55 | null | "Southampton" | 0 |
1 | "Abbott, Master. Eugene Joseph" | "male" | 0.160751 | 0 | 2 | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 0 |
2 | "Abbott, Mr. Rossmore Edward" | "male" | 0.19833 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 0 |
3 | "Abbott, Mrs. Stanton (Rosa Hun… | "female" | 0.436325 | 1 | 1 | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 1 |
4 | "Abelseth, Miss. Karen Marie" | "female" | 0.19833 | 0 | 0 | "348125" | 3 | 7.65 | null | "Southampton" | 1 |
5 | "Abelseth, Mr. Olaus Jorgensen" | "male" | 0.311064 | 0 | 0 | "348122" | 3 | 7.65 | "F G63" | "Southampton" | 1 |
6 | "Abelson, Mr. Samuel" | "male" | 0.373695 | 1 | 0 | "P/PP 3381" | 2 | 24.0 | null | "Cherbourg" | 0 |
7 | "Abelson, Mrs. Samuel (Hannah W… | "female" | 0.348643 | 1 | 0 | "P/PP 3381" | 2 | 24.0 | null | "Cherbourg" | 1 |
8 | "Abrahamsson, Mr. Abraham Augus… | "male" | 0.248434 | 0 | 0 | "SOTON/O2 3101284" | 3 | 7.925 | null | "Southampton" | 1 |
9 | "Abrahim, Mrs. Joseph (Sophie H… | "female" | 0.223382 | 0 | 0 | "2657" | 3 | 7.2292 | null | "Cherbourg" | 1 |
- Transform table using
StandardScaler
, this will standardize values of chosenColumn
s:
In [12]:
Copied!
from safeds.data.tabular.transformation import StandardScaler
scaler = StandardScaler(selector=["age", "travel_class"]).fit(titanic)
scaler.transform(titanic_slice)
from safeds.data.tabular.transformation import StandardScaler
scaler = StandardScaler(selector=["age", "travel_class"]).fit(titanic)
scaler.transform(titanic_slice)
Out[12]:
shape: (10, 12)
id | name | sex | age | siblings_spouses | parents_children | ticket | travel_class | fare | cabin | port_embarked | survived |
---|---|---|---|---|---|---|---|---|---|---|---|
i64 | str | str | f64 | i64 | i64 | str | f64 | f64 | str | str | i64 |
0 | "Abbing, Mr. Anthony" | "male" | 0.841202 | 0 | 0 | "C.A. 5547" | 0.841916 | 7.55 | null | "Southampton" | 0 |
1 | "Abbott, Master. Eugene Joseph" | "male" | -1.171763 | 0 | 2 | "C.A. 2673" | 0.841916 | 20.25 | null | "Southampton" | 0 |
2 | "Abbott, Mr. Rossmore Edward" | "male" | -0.963526 | 1 | 1 | "C.A. 2673" | 0.841916 | 20.25 | null | "Southampton" | 0 |
3 | "Abbott, Mrs. Stanton (Rosa Hun… | "female" | 0.355314 | 1 | 1 | "C.A. 2673" | 0.841916 | 20.25 | null | "Southampton" | 1 |
4 | "Abelseth, Miss. Karen Marie" | "female" | -0.963526 | 0 | 0 | "348125" | 0.841916 | 7.65 | null | "Southampton" | 1 |
5 | "Abelseth, Mr. Olaus Jorgensen" | "male" | -0.338812 | 0 | 0 | "348122" | 0.841916 | 7.65 | "F G63" | "Southampton" | 1 |
6 | "Abelson, Mr. Samuel" | "male" | 0.008251 | 1 | 0 | "P/PP 3381" | -0.352091 | 24.0 | null | "Cherbourg" | 0 |
7 | "Abelson, Mrs. Samuel (Hannah W… | "female" | -0.130574 | 1 | 0 | "P/PP 3381" | -0.352091 | 24.0 | null | "Cherbourg" | 1 |
8 | "Abrahamsson, Mr. Abraham Augus… | "male" | -0.685875 | 0 | 0 | "SOTON/O2 3101284" | 0.841916 | 7.925 | null | "Southampton" | 1 |
9 | "Abrahim, Mrs. Joseph (Sophie H… | "female" | -0.8247 | 0 | 0 | "2657" | 0.841916 | 7.2292 | null | "Cherbourg" | 1 |
Transform column¶
- Transform values of "parents_children"
Column
into true or false, depending on whether passenger travelled with parents or children:
In [13]:
Copied!
titanic_slice.transform_columns("parents_children", lambda cell: cell > 0)
titanic_slice.transform_columns("parents_children", lambda cell: cell > 0)
Out[13]:
shape: (10, 12)
id | name | sex | age | siblings_spouses | parents_children | ticket | travel_class | fare | cabin | port_embarked | survived |
---|---|---|---|---|---|---|---|---|---|---|---|
i64 | str | str | f64 | i64 | bool | str | i64 | f64 | str | str | i64 |
0 | "Abbing, Mr. Anthony" | "male" | 42.0 | 0 | false | "C.A. 5547" | 3 | 7.55 | null | "Southampton" | 0 |
1 | "Abbott, Master. Eugene Joseph" | "male" | 13.0 | 0 | true | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 0 |
2 | "Abbott, Mr. Rossmore Edward" | "male" | 16.0 | 1 | true | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 0 |
3 | "Abbott, Mrs. Stanton (Rosa Hun… | "female" | 35.0 | 1 | true | "C.A. 2673" | 3 | 20.25 | null | "Southampton" | 1 |
4 | "Abelseth, Miss. Karen Marie" | "female" | 16.0 | 0 | false | "348125" | 3 | 7.65 | null | "Southampton" | 1 |
5 | "Abelseth, Mr. Olaus Jorgensen" | "male" | 25.0 | 0 | false | "348122" | 3 | 7.65 | "F G63" | "Southampton" | 1 |
6 | "Abelson, Mr. Samuel" | "male" | 30.0 | 1 | false | "P/PP 3381" | 2 | 24.0 | null | "Cherbourg" | 0 |
7 | "Abelson, Mrs. Samuel (Hannah W… | "female" | 28.0 | 1 | false | "P/PP 3381" | 2 | 24.0 | null | "Cherbourg" | 1 |
8 | "Abrahamsson, Mr. Abraham Augus… | "male" | 20.0 | 0 | false | "SOTON/O2 3101284" | 3 | 7.925 | null | "Southampton" | 1 |
9 | "Abrahim, Mrs. Joseph (Sophie H… | "female" | 18.0 | 0 | false | "2657" | 3 | 7.2292 | null | "Cherbourg" | 1 |