如何用pandas删除df的最后两行

Rob*_*lez 4 python rows pandas

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

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])
Run Code Online (Sandbox Code Playgroud)

这将删除底部的第二行,但我试图删除将跟随NaN的行

jar*_*jar 8

你也可以用它df.tail来实现——

df.drop(df.tail(n).index,inplace=True)
Run Code Online (Sandbox Code Playgroud)


jez*_*ael 5

Beter是选择所有行而不是最后2 iloc:

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


Alw*_*nny 5

您可以尝试这样删除最后两行吗?

df = df[:-2]
Run Code Online (Sandbox Code Playgroud)

输出:

删除最后 2 行后

            name   year  reports
Cochice     Jason  2012        4
Pima        Molly  2012       24
Santa Cruz   Tina  2013       31
Run Code Online (Sandbox Code Playgroud)

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