Pandas索引栏

2024-06-16 11:43:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将三个文件合并成一个xlsx文件。我可以连接,但索引列没有被删除。使用concat函数后,我的Dataframe将所有三个xlsx文件的索引列从0到3000进行了三次。我应该如何解决这个问题

详情-

我有amex-listing.xlsx文件和3个工作表

表1=纽约证券交易所

表2=美国运通

sheet3=纳斯达克

代码-

xls = pd.ExcelFile('amex-listing.xlsx')
exchanges = xls.sheet_names
pd.set_option("display.max_columns",100)
final_file = 'listing.xlsx'
listings = []
for exchange in exchanges:
    listing = pd.read_excel('amex-listing.xlsx',sheet_name=exchange, na_values='NaN', index_col=False)
    listing['exchange'] = exchange
    sup_df = pd.DataFrame()
    sup_df = listing.append(sup_df)
    listings.append(sup_df)

listings = pd.concat(listings)

输出数据帧-

index_issue

dataframe_view_after_concat

如何删除/忽略/删除未命名索引列?有可能的解决办法吗

输出具有未命名索引列的xlxs文件-

amex-index

amex-nasdaq_index

nasdaq-nyse_index


Tags: 文件dfindexexchangexlsxxlsexchangessheet
1条回答
网友
1楼 · 发布于 2024-06-16 11:43:59

熊猫的习惯是在左边显示行索引。您不能删除索引(除非您设置了其他类型的索引,但仍然在那里建立索引)。如果不想看到重复索引(0到3000个重复3次),可以通过^{}重置索引以重新序列化索引编号(0到9002左右),如下所示:

假设concat之后的数据帧的名称为df

df = df.reset_index(drop=True)    

编辑

如果您只是不想看到行索引,并且可以将列Symbol设置为索引,则可以使用:

df = df.set_index('Symbol')    

然后,您将不再看到原始的默认范围索引。请注意,通过这种方式,相同Symbol的行将放在一起。你必须考虑这对你是否合适。

相关问题 更多 >