如何使用熊猫删除df的最后两行

时间:2018-12-04 16:18:24

标签: python pandas rows

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

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之后的行

3 个答案:

答案 0 :(得分:5)

更好的方法是按iloc选择所有不排在最后2位的行:

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

答案 1 :(得分: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

答案 2 :(得分:2)

您也可以使用df.tail实现这一目标-

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