如何为无表头的Pandas DataFrame添加表头行?
给无表头Pandas DataFrame添加表头的方法
嘿,很高兴看到你从Perl转Python,用Pandas处理CSV文件!给已经读入的无表头DataFrame添加表头其实很简单,我给你两种实用的方案:
方法1:读取CSV时直接指定表头
如果你已经明确知道表头的内容,可以在read_csv的时候直接通过names参数指定,一步到位:
import pandas as pd # 根据你的数据列数,定义对应的表头列表 headers = ["Brand", "Product Name", "Category", "Price", "Manufacturer"] # 读取CSV,header=None告诉Pandas原文件没有表头,names传入自定义表头 db = pd.read_csv("netmedsdb.csv", header=None, names=headers) # 查看结果 print(db)
这样处理后,原CSV里的第一行数据会被当作数据行,而不是表头,我们传入的headers会成为DataFrame的列名。
方法2:读取后为现有DataFrame设置表头
如果你已经完成了CSV的读取(就像你现在的代码那样),可以直接给DataFrame的columns属性赋值来添加表头:
import pandas as pd # 先读取无表头的CSV db = pd.read_csv("netmedsdb.csv", header=None) # 定义表头列表 headers = ["Brand", "Product Name", "Category", "Price", "Manufacturer"] # 给DataFrame设置列名 db.columns = headers # 查看结果 print(db)
小提示
要注意表头列表的元素数量必须和DataFrame的列数一致,不然会抛出错误。从你的输出看,数据有5列,所以表头列表要刚好包含5个元素哦。
内容的提问来源于stack exchange,提问作者Joel G Mathew
相关产品推荐
相关产品推荐

