DataFrame索引列无法删除求助:CSV转DataFrame后出现无名索引列
解决Pandas DataFrame显示行索引的问题
你看到的最左侧的0不是DataFrame的列,是Pandas默认生成的行索引——这是Pandas用来标记行位置的内置标识,不属于CSV里的实际数据列,所以你用df.columns[0]去删除时,会误删真正的第一列fsym_id。
正确处理方式:
读取CSV时避免索引混淆
读取CSV文件时,明确告诉Pandas不要将任何列当作索引,确保读取逻辑准确:df = pd.read_csv("{}/output/Float_Ingestion_Expected_Output_files/{}/{}.csv".format(str(parentDir), test_case_name, file_name), index_col=False)删除错误的drop操作
删掉代码里的df.drop(columns = df.columns[0], axis = 1, inplace= True)这一行,它会误删实际数据列。打印时隐藏行索引
如果只是不想在控制台输出里看到行索引,修改打印语句:print(df.to_string(index=False))保存CSV时不写入行索引
若后续要将修改后的DataFrame保存为CSV,添加index=False参数,避免行索引被写入文件:df.to_csv("目标保存路径.csv", index=False)
修改后的完整代码示例:
def update_run_id_in_csv(rds_db_conn,test_case_name,file_name): # 读取CSV时指定index_col=False,避免索引混淆 df = pd.read_csv("{}/output/Float_Ingestion_Expected_Output_files/{}/{}.csv".format(str(parentDir), test_case_name, file_name), index_col=False) df['run_id'] = '2323323232999' #get_run_id(rds_db_conn,max_13f_query,query) # 打印时隐藏行索引 print(df.to_string(index=False))
内容的提问来源于stack exchange,提问作者Pratik
相关产品推荐
相关产品推荐

