You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python pandas处理CSV如何移除默认索引并替换为eTime值

Python中移除CSV文件的索引编号

需求说明

需要移除pandas默认生成的数字行索引,将其替换为eTime字段的对应值。
原有实现代码:

import numpy as np
import pandas as pd

# load data from csv
data = pd.read_csv('log_level_out_mini.csv', delimiter=';')
time = data['eTime']
angka = data['eValue']


# Calculating cross-sectional area
diameter = 0.1016  # 4 Inch
A = 1/4 * np.pi * diameter ** 2
print('Luas penampang:', A)

# Calculate Flow Rate
Q = angka * A
print('Flow Rate:', Q)

# Calculate Volume

运行后默认输出带数字索引:

Time  eValue
0      2017-07-16 00:00:50.017  -0.272
1      2017-07-16 00:01:50.017  -0.272
2      2017-07-16 00:02:50.020  -0.272
3      2017-07-16 00:03:50.003  -0.272
4      2017-07-16 00:04:50.020  -0.272
...                        ...     ...
10032  2017-07-22 23:55:23.803   0.588
10033  2017-07-22 23:56:23.793   0.580
10034  2017-07-22 23:57:23.787   0.583
10035  2017-07-22 23:58:23.797   0.569
10036  2017-07-22 23:59:23.800   0.549

解决方法

有两种常用实现方式,按需选择即可:

  • 方式1:读取CSV文件时直接指定索引列,一步到位
    在pd.read_csv中加入index_col参数,指定要作为行索引的列名即可,不需要修改后续计算逻辑:
    # 读取时直接将eTime设为行索引
    data = pd.read_csv('log_level_out_mini.csv', delimiter=';', index_col='eTime')
    angka = data['eValue']
    
    # 后续截面积、流量计算代码保持不变
    diameter = 0.1016  # 4 Inch
    A = 1/4 * np.pi * diameter ** 2
    print('Luas penampang:', A)
    
    Q = angka * A
    print('Flow Rate:', Q)
    
  • 方式2:数据读取完成后再修改索引
    如果已经完成数据读取、不想重新加载文件,可以用set_index方法替换原有默认索引:
    # 原有读取代码不变
    data = pd.read_csv('log_level_out_mini.csv', delimiter=';')
    # 将eTime列设置为新的行索引,替换原数字索引
    data = data.set_index('eTime')
    

设置完成后再打印DataFrame,最左侧的行索引就会显示为eTime对应的时间值,不会再出现默认生成的数字序号。如果后续需要把处理后的数据导出为CSV文件,不需要保留索引的话可以在调用to_csv时传入index=False参数。


内容的提问来源于stack exchange,提问作者Cycloo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 00:57:19