如何为pandas DataFrame设置列名并完整保留全部原始数据
解决方法
使用pandas.read_csv()读取无表头的CSV文件时,同时配置两个参数即可实现自定义列名且不丢失首行原始数据:
header=None:指定文件不存在表头行,程序不会将首行数据识别为列名,所有行都作为数据行加载names:传入长度与数据列数一致的列表,作为DataFrame的自定义列名
代码示例
结合你提供的黄金价格数据字段顺序(交易日期、交易时间、开盘价、最高价、最低价、收盘价、成交量),读取代码如下:
import pandas as pd # 自定义列名,可根据需求调整命名 columns = ["trade_date", "trade_time", "open", "high", "low", "close", "volume"] # 替换为你的实际文件路径 gold_df = pd.read_csv( "你的黄金数据文件路径.csv", header=None, names=columns )
注意事项
- 不可省略
header=None参数:如果仅传入names参数不设置header=None,pandas仍会将第一行原始数据覆盖为列名,导致首行2014.02.13的交易数据丢失 - 自定义列名列表的顺序必须和数据列的排列顺序完全对应,否则会出现字段匹配错误
- 读取完成后可执行
print(gold_df.head())校验结果,确认首行数据完整、列名符合预期即可
内容的提问来源于stack exchange,提问作者Pattara
相关产品推荐
相关产品推荐

