为什么最大索引比行数低很多?

时间:2019-12-16 06:13:01

标签: python pandas

我正在研究以下教程,其中excel文件由3个具有相同数据结构的表格组成。当使用pandas.concat()将所有工作表放在一起时,我观察到创建的数据框中的行数是不同的,并且比最后一个索引大得多。

https://www.dataquest.io/blog/excel-and-pandas/

我使用pandas.shape显示行数,并使用pandas.tail()从末尾打印5行。 这是代码:

import pandas as pd


excel_file = "movies.xls"

xlsx = pd.ExcelFile(excel_file)

movies_sheets = []
for sheet in xlsx.sheet_names:
    movies_sheets.append(xlsx.parse(sheet))

[enter image description here][1]movies = pd.concat(movies_sheets)

print(movies.shape)
print(movies.tail())

以下是输出:

enter image description here

1 个答案:

答案 0 :(得分:1)

因为要使用:

movies = pd.concat(movies_sheets)

它不创建默认索引,只为每个工作表名称合并所有3个索引值。

为防止出现这种情况,请将ignore_index=True参数添加到concat

movies = pd.concat(movies_sheets, ignore_index=True)

或创建默认索引:

movies = pd.concat(movies_sheets).reset_index(drop=True)