【问题标题】:Filtering data on Titanic dataset在 Titanic 数据集上过滤数据
【发布时间】:2021-04-18 15:47:16
【问题描述】:

我正在使用 Titanic 数据集对数据进行一些过滤。我需要找到最年轻的没有幸存下来的乘客。我现在已经得到了这个结果:

df_kids = df[(df["Survived"] == 0)][["Age","Name","Sex"]].sort_values("Age").head(10)
df_kids

现在我需要说明其中有多少是男性,多少是女性。我尝试了一个循环,但它一直给我两个列表的零。我不知道我做错了什么:

list_m = list()
list_f = list()

for i in df_kids:
    if [["Sex"] == "male"]:
        list_m.append(i)
    else:
        list_f.append(i)
len(list_m)
len(list_f)

你能帮帮我吗?

非常感谢!

【问题讨论】:

  • df_kid.groupby('Sex').count() 不起作用?
  • 我们还没有审查 groupby ;( 但我会试试看!谢谢 :)

标签: python dataset filtering


【解决方案1】:

您可以创建遮罩。例如:

male_mask = df_kids['Sex' == 'male']

并使用它:

male = df_kids[male_mask]
female = df_kids[~male_mask]  # Assuming Sex is either male or female

如果您只对计数感兴趣,现在可以使用shape 属性。

print(male.shape[0])
print(female.shape[0])

【讨论】:

  • 非常感谢!!这行得通而且很有意义......熊猫很难! ;(
  • 不难,只是时间问题,越用越容易。
猜你喜欢
  • 1970-01-01
  • 2017-01-15
  • 2011-08-25
  • 2019-10-16
  • 2019-06-12
  • 1970-01-01
  • 1970-01-01
  • 2020-08-16
  • 1970-01-01
相关资源
最近更新 更多