首页 > 解决方案 > 如何使用熊猫数据框 set_index()

问题描述

让我们创建一个pandas dataframe有两列的:

lendf = pd.read_csv('/git/opencv-related/experiments/audio_and_text_files_lens.csv',
        names=['path','duration'])

这是默认的数字递增index

在此处输入图像描述

让我们更改index以允许按path属性搜索:

lendf.set_index(['path'])

但是index没变??

在此处输入图像描述

怎么调用reindex()

lendf.reindex()

在此处输入图像描述

还是没有变化!

请注意,我一直在引用源代码 sphinx https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.set_index.html:这是摘录:

在此处输入图像描述

那么我对pandas索引有什么误解 - 应该如何设置搜索/索引path

标签: pythonpandasindexing

解决方案


您需要通过,inplace=True否则set_index将返回一个新的数据框,而不是更改现有的数据框

lendf.set_index(['path'], inplace=True)

推荐阅读