【问题标题】:How do i save modification using inplace in pandas?如何在熊猫中使用就地保存修改?
【发布时间】:2019-10-26 09:43:06
【问题描述】:

如果我使用此代码删除列 Entity

t.drop('Entity', axis=1, inplace=True)

然后之前的数据帧再次来到这里。那么如何使用inplace=True 保存修改以便删除Entity 列?

【问题讨论】:

  • 您能否在运行 drop 命令之前向我们展示 DataFrame?从我所见,您的代码看起来运行良好。另外,请将您的代码、数据和所需输出作为缩进文本而不是图片放入问题中,以便我们重新创建问题。

标签: python python-3.x pandas jupyter-notebook


【解决方案1】:

你可以把两个都放进去一次。

rd.drop(["Entity", "Code"], axis=1, inplace=True)

【讨论】:

    【解决方案2】:

    t.drop('Entity', axis=1, inplace=True)的代码是正确的!

    【讨论】:

      【解决方案3】:

      不清楚你想放弃什么。如果您使用的是axis=1,那么您正在尝试删除 column ...在这种情况下,您的代码看起来可以正常工作(我在 out DataFrame 输出中没有看到Code 列.)

      如果您尝试根据 Entity 的值删除 rows,您需要使用 df.loc 的索引,如...

      `df.drop(df.loc[df['columnsname']=="Entity"].index, inplace=True)` 
      

      `df.drop(df.loc[df['Entity']=="<some value>"].index, inplace=True)` 
      

      以这个为例……

      from dataframefromstring import DataFrameFromString
      
      df = DataFrameFromString() # Just loads a df for this example. Nothing to do with your code
      
      # show the starting dataframe    
      print("=== Original DF ==============")
      print(df)
      
      # Drop the column "Name"
      df.drop('Name', axis=1, inplace=True)
      print("=== Dropped column ==============")
      print(df)
      
      # Drop multiple columns
      df.drop(['Ticket_No', "Fare"], axis=1, inplace=True)
      print("=== Dropped mutiple columns ==============")
      print(df)
      
      # Drop rows based on column X having some value
      df.drop(df.loc[df['Sex']=="male"].index, inplace=True)
      print("=== Drop row where Column = <something> ==============")
      print(df)
      
      # Drop rows based on multiple values value
      df.drop(df.loc[ (df['Sex'].isnull() ) | (df["Age"] < 42 ) ].index, inplace=True)
      print("=== Drop rows based on multiple conditions ==============")
      print(df)
      

      输出:

      === Original DF ==============
            Name     Sex   Age Ticket_No    Fare
      0   Braund    male  22.0   HN07681  2500.0
      1      NaN  female  42.0   HN05681  6895.0
      2    peter    male   NaN    KKSN55   800.0
      3      NaN    male  56.0   HN07681  2500.0
      4    Daisy  female  22.0   hf55s44     NaN
      5   Manson     NaN  48.0   HN07681  8564.0
      6   Piston    male   NaN   HN07681  5622.0
      7  Racline  female  42.0   Nh55146     NaN
      8      NaN    male  22.0   HN07681  4875.0
      9      NaN     NaN   NaN       NaN     NaN
      
      === Dropped column ==============
            Sex   Age Ticket_No    Fare
      0    male  22.0   HN07681  2500.0
      1  female  42.0   HN05681  6895.0
      2    male   NaN    KKSN55   800.0
      3    male  56.0   HN07681  2500.0
      4  female  22.0   hf55s44     NaN
      5     NaN  48.0   HN07681  8564.0
      6    male   NaN   HN07681  5622.0
      7  female  42.0   Nh55146     NaN
      8    male  22.0   HN07681  4875.0
      9     NaN   NaN       NaN     NaN
      
      === Dropped mutiple columns ==============
            Sex   Age
      0    male  22.0
      1  female  42.0
      2    male   NaN
      3    male  56.0
      4  female  22.0
      5     NaN  48.0
      6    male   NaN
      7  female  42.0
      8    male  22.0
      9     NaN   NaN
      
      === Drop row where Column = <something> ==============
            Sex   Age
      1  female  42.0
      4  female  22.0
      5     NaN  48.0
      7  female  42.0
      9     NaN   NaN
      
      === Drop rows based on multiple conditions ==============
            Sex   Age
      1  female  42.0
      7  female  42.0
      

      【讨论】:

        猜你喜欢
        • 2019-12-16
        • 2017-10-09
        • 2018-12-11
        • 1970-01-01
        • 1970-01-01
        • 2022-11-02
        相关资源
        最近更新 更多