如何用Pandas将DataFrame指定行设为列标签并清理冗余行
解决Pandas替换列名并跳过前几行的问题
嘿,我来帮你搞定这个Pandas的问题!根据你的需求,这里有个直接可行的解决方案,分步骤给你解释清楚:
完整实现代码
import pandas as pd # 1. 读取整个Excel文件,不预设表头(避免默认把第一行当表头) df = pd.read_excel('H1E372F8273057 2020-02-17.xls', header=None) # 2. 将第3行(索引为3)的内容设置为新的列名 df.columns = df.iloc[3] # 3. 剔除前4行(索引0到3),只保留从第4行开始的有效数据 df = df.iloc[4:] # 可选:重置索引,让新DataFrame的索引从0开始 df = df.reset_index(drop=True) # 验证结果 print(df.head())
关键步骤解释
header=None参数:默认情况下pd.read_excel会把Excel的第一行当作列名,这里我们先关闭这个行为,把所有行都当作数据行读取,方便后续自定义列名。df.iloc[3]:Pandas里用iloc按位置索引取值,iloc[3]就是取第3行的所有内容,把它赋值给df.columns就完成了列名替换。df.iloc[4:]:从第4行开始截取数据,直接去掉了你不需要的前4行内容。- 重置索引:这一步是可选的,如果你的业务不需要连续的索引可以跳过,加上它会让新的DataFrame索引从0开始,更美观整洁。
预期输出
运行代码后,你会得到这样的结果:
update time PV1 voltage (V) PV1 current (A) 0 2020-02-17 00:03:15 0 0 1 2020-02-17 00:08:15 0 0 2 2020-02-17 00:13:16 0 0 3 2020-02-17 00:18:15 0 0 4 2020-02-17 00:23:15 0 0
内容的提问来源于stack exchange,提问作者BillyR
相关产品推荐
相关产品推荐

