【问题标题】:How to select a column in pandas based on a name?如何根据名称在熊猫中选择一列?
【发布时间】:2019-06-11 22:54:45
【问题描述】:

我正在尝试选择一列。

所以我使用 iris 数据集。我现在只想拥有 setosa 花,所以我将它存储在一个名为 Setosa 的变量中。

Setosa = iris_df[iris_df['Name'] == 'Iris-setosa']

然后我使用了 df 函数,因为我想要一个特定的列。 Setosa = df['SepalLength']

现在我做了一个跟踪,我想创建一个scatterplot。 sepallength 的 X 轴和 sepalwidth 的 Y 轴。但我不知道如何指定我只希望它出现在 Setosa 花上?

trace1 = {
    "x": `df['SepalLength']`, 
    "y": `df['SepalWidth']`, 

我首先尝试了"x": Setosa = df['SepalLength'] 和"y": Setosa = df['SepalWidth'],但这不起作用。

【问题讨论】:

  • 能否添加您正在使用的数据样本?没有它,很难理解你想要做什么。
  • df 不是函数。它是 DataFrame 最常用的变量名。您也可以使用DonaldTrump 而不是df。我认为您在这里需要iris_df 而不是df
  • 嗯,我记得在 datacamp 上使用过这个数据集(=,试试iris_df.loc[iris_df['Name'] == 'Iris-setosa']
  • @Sheldore 感谢您指出这一点,即使我将其更改为 iris_df 仍然无法正常工作
  • @Datanovice 是的,我现在已经按 iris-setosa 对其进行了排序,但我想选择 SepalWidth 列

标签: python pandas plotly


【解决方案1】:

只要添加这个作为答案,因为它有效

iris_df['SepalWidth'].loc[iris_df['Name'] == 'Iris-setosa']

简短的解释,

您想返回一个匹配特定条件的系列,为此您需要首先选择带有括号或点符号的列,并使用.loc 或其他过滤器来匹配您的条件。

祝你好运

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 2018-10-29
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多