【问题标题】:How to delete the last two rows of a df with pandas [duplicate]如何用熊猫删除df的最后两行[重复]
【发布时间】:2019-05-06 03:11:21
【问题描述】:

这是我正在使用的代码。我想删除文件的最后两行。我实际上正在处理一个更大的文件,最后两行波动。一旦我让它在这种小格式上工作,我将在我的主要源代码中实现它。

import pandas as pd
data = {'name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'], 
    'year': [2012, 2012, 2013, 2014, 2014], 
    'reports': [4, 24, 31, 2, 3]}
df = pd.DataFrame(data, index = ['Cochice', 'Pima', 'Santa Cruz', 
'Maricopa', 'Yuma'])
df
df.drop(dr.index[-2])

这将删除从底部开始的第二行,但我正在尝试删除后跟 NaN 的行

【问题讨论】:

    标签: python pandas rows


    【解决方案1】:

    更好的是通过iloc选择所有没有最后2的行:

    df = df.iloc[:-2]
    print (df)
                 name  year  reports
    Cochice     Jason  2012        4
    Pima        Molly  2012       24
    Santa Cruz   Tina  2013       31
    

    【讨论】:

      【解决方案2】:

      您也可以使用df.tail 来实现这一点 -

      df.drop(df.tail(n).index,inplace=True)
      

      【讨论】:

        【解决方案3】:

        您可以尝试像这样删除最后 2 行?

        df = df[:-2]
        

        输出:

        删除最后两行后

                    name   year  reports
        Cochice     Jason  2012        4
        Pima        Molly  2012       24
        Santa Cruz   Tina  2013       31
        

        工作演示: https://repl.it/repls/UnacceptableWrithingQuotes

        【讨论】:

          猜你喜欢
          • 2016-02-11
          • 1970-01-01
          • 2023-03-31
          • 2021-08-31
          • 1970-01-01
          • 1970-01-01
          • 2021-06-18
          • 2022-07-27
          • 2021-09-05
          相关资源
          最近更新 更多