如何从指定行列读取CSV至Python DataFrame并解决列NaN问题?
解决pandas读取CSV时的列NaN问题
针对你的情况,核心是只读取有效数据所在的列,同时确保表头设置正确,避免因无用列或表头错位导致的NaN问题,具体有两种可行方案:
方案1:读取时直接指定有效列(推荐)
利用usecols参数,只导入你需要的第3-5列(对应表格里的First Name、Last Name、Age列,列索引从0开始为2、3、4),同时指定表头在原CSV的第5行(对应Excel的第6行):
import pandas as pd target_hcp = pd.read_csv( r"C:\Users\Downloads\EMD Data\Target List\HCP List.csv", header=5, # 将原CSV的第6行(Excel行号)设为表头 usecols=[2, 3, 4] # 仅读取第3、4、5列(索引从0计数) ) target_hcp.head()
方案2:读取后删除无用列
如果已经导入了全部列,直接删除前两列(Column A和Column B)即可:
import pandas as pd # 注意:这里只跳过前5行(0-4),保留第5行作为表头 target_hcp = pd.read_csv( r"C:\Users\Downloads\EMD Data\Target List\HCP List.csv", skiprows=[0,1,2,3,4] ) # 删除前两列 target_hcp = target_hcp.drop(target_hcp.columns[[0, 1]], axis=1) target_hcp.head()
关键提醒
你之前的代码用skiprows=[0,1,2,3,4,5]会跳过表头行(原CSV的第6行),导致pandas把数据行当成表头,这可能是引发列异常的隐藏原因,记得调整skiprows或header参数确保表头正确。
内容的提问来源于stack exchange,提问作者Sufi Ali
相关产品推荐
相关产品推荐

