当前位置:  开发笔记 > 编程语言 > 正文

如何将标题行添加到pandas DataFrame中

如何解决《如何将标题行添加到pandasDataFrame中》经验,为你挑选了4个好方法。

我正在读一个csv文件pandas.这个csv文件由四列和一些行组成,但没有标题行,我想添加它.我一直在尝试以下方面:

Cov = pd.read_csv("path/to/file.txt", sep='\t')
Frame=pd.DataFrame([Cov], columns = ["Sequence", "Start", "End", "Coverage"])
Frame.to_csv("path/to/file.txt", sep='\t')

但是当我应用代码时,我收到以下错误:

ValueError: Shape of passed values is (1, 1), indices imply (4, 1)

这个错误究竟是什么意思?在python中添加标题行到我的csv文件/ pandas df会是一个干净的方法吗?



1> Leb..:

你可以names直接使用read_csv

names:array-like,default无要使用的列名列表.如果文件不包含标题行,则应显式传递header = None

Cov = pd.read_csv("path/to/file.txt", 
                  sep='\t', 
                  names=["Sequence", "Start", "End", "Coverage"])

下面的行不会按预期工作.names已经是一个数据帧,假设它从文件中读取时确实有4列.

Cov = pd.read_csv("path/to/file.txt", 
                  sep='\t', 
                  names=["Sequence", "Start", "End", "Coverage"])


你会笑 我实际上尝试过这个,但是不知道你必须在名字旁边加上方括号.这在逻辑上是回顾过去.谢谢!

2> Anton Protop..:

或者你可以用c读取你的csv header=None然后添加它df.columns:

Cov = pd.read_csv("path/to/file.txt", sep='\t', header=None)
Cov.columns = ["Sequence", "Start", "End", "Coverage"]



3> 小智..:
col_Names=["Sequence", "Start", "End", "Coverage"]
my_CSV_File= pd.read_csv("yourCSVFile.csv",names=col_Names)

做完这个,只需检查一下[显然我知道,你知道.但还是......

my_CSV_File.head()

希望它有所帮助......干杯



4> 小智..:

要修改你的代码你可以简单地[Cov]改为Cov.values,第一个参数pd.DataFrame将成为一个多维numpy数组:

Cov = pd.read_csv("path/to/file.txt", sep='\t')
Frame=pd.DataFrame(Cov.values, columns = ["Sequence", "Start", "End", "Coverage"])
Frame.to_csv("path/to/file.txt", sep='\t')

但最聪明的解决方案仍然是使用pd.read_excelheader=Nonenames=columns_list.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有