如何使用 Python Pandas 仅显示某些列?

How can I show only some columns using Python Pandas?

我已经尝试了以下代码并且它有效,但是它显示了我不需要的多余列。这是显示额外列的输出:

    import pandas as pd
df = pd.read_csv("data.csv")
df = df.groupby(['City1', 'City2']).sum('PassengerTrips')
df['Vacancy'] = 1-df['PassengerTrips'] / df['Seats']
df = df.groupby(['City1','City2']).max('Vacancy')
df = df.sort_values('Vacancy', ascending =False)
print('The 10 routes with the highest proportion of vacant seats:')
print(df[:11])

我试图在对空缺值进行排序后添加以下代码,但是它给我一个错误:

df = df[['City1', 'City2', 'Vacancy']]

City1City2 在索引中,因为您在其上应用了 groupby。 您可以使用 reset_index 将它们放在列中以获得预期结果:

df = df.reset_index(drop=False)
df = df[['City1', 'City2', 'Vacancy']]

或者,如果你想让 City1City2 在索引中,你可以按照@Corralien 在他的评论中所说的那样做:df = df['Vacancy']

甚至 df = df['Vacancy'].to_frame() 得到 DataFrame 而不是 Serie