Pandas 将头添加到文件中的.data文件

Pandas 将头添加到文件中的.data文件,pandas,read-fwf,Pandas,Read Fwf,给定一个扩展名为.data的文件,我已经用pd.read\u fwf(“./input.data”,sep=“,”,header=None)阅读了它。: 输出: 如何向其中添加以下列名?谢谢 col_names = ["age", "sex", "cp", "restbp", "chol", "fbs", "restecg", &qu

给定一个扩展名为
.data
的文件,我已经用
pd.read\u fwf(“./input.data”,sep=“,”,header=None)阅读了它。

输出:

如何向其中添加以下列名?谢谢

col_names = ["age", "sex", "cp", "restbp", "chol", "fbs", "restecg", 
           "thalach", "exang", "oldpeak", "slope", "ca", "thal", "num"]
更新:

pd.read_fwf("./input.data", names = col_names)
输出:

如果检查:

将固定宽度格式化行的表格读入数据帧

因此,如果有分隔符
请使用:


只需在不带标题的情况下执行
读取\u csv
,然后传递
列名称

df = pd.read_csv('input.data', header=None, names=col_names);
输出(总人数):


如何工作
pd.read\u csv(“/input.data”,name=col\u name)
?您的文件是固定宽度的
文件还是
csv
?这对使用哪种方法产生了巨大的影响。
read\u csv
解决了这个问题:)@谢谢您在
名称
参数之外的更新。这正是我所需要的,目前还没有为
read_fwf
函数编写文档。我很高兴它对您有所帮助,不客气。我已经尝试过这一点,但得到了许多带有
NaN
s的专栏。我还添加了
sep=”,“
,它不起作用。@ahbon-一个想法,如何为no
quoting添加参数
quoting=3
?我添加了
quoting=3
,结果没有改变。@ahbon-数据是否保密?似乎出现了一些与数据相关的问题,我使用了
read\u fwf
而不是
read\u csv
。header=None是不必要的,因为如果通过
names
则默认设置为
header=None
    age sex cp  restbp  chol    fbs restecg thalach exang   oldpeak slope   ca  thal    num
0   63.0,1.0,1.0,145.0,233.0,1.0,2.0,150.0,0.0,2.3...   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1   67.0,1.0,4.0,160.0,286.0,0.0,2.0,108.0,1.0,1.5...   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2   67.0,1.0,4.0,120.0,229.0,0.0,2.0,129.0,1.0,2.6...   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3   37.0,1.0,3.0,130.0,250.0,0.0,0.0,187.0,0.0,3.5...   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4   41.0,0.0,2.0,130.0,204.0,0.0,2.0,172.0,0.0,1.4...   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
292 57.0,0.0,4.0,140.0,241.0,0.0,0.0,123.0,1.0,0.2...   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
293 45.0,1.0,1.0,110.0,264.0,0.0,0.0,132.0,0.0,1.2...   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
294 68.0,1.0,4.0,144.0,193.0,1.0,0.0,141.0,0.0,3.4...   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
295 57.0,1.0,4.0,130.0,131.0,0.0,0.0,115.0,1.0,1.2...   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
296 57.0,0.0,2.0,130.0,236.0,0.0,2.0,174.0,0.0,0.0...   NaN NaN NaN NaN NaN NaN
col_names = ["age", "sex", "cp", "restbp", "chol", "fbs", "restecg", 
           "thalach", "exang", "oldpeak", "slope", "ca", "thal", "num"]

df = pd.read_csv("input.data", names=col_names)
print (df)

      age  sex   cp  restbp   chol  fbs  restecg  thalach  exang  oldpeak  \
0    63.0  1.0  1.0   145.0  233.0  1.0      2.0    150.0    0.0      2.3   
1    67.0  1.0  4.0   160.0  286.0  0.0      2.0    108.0    1.0      1.5   
2    67.0  1.0  4.0   120.0  229.0  0.0      2.0    129.0    1.0      2.6   
3    37.0  1.0  3.0   130.0  250.0  0.0      0.0    187.0    0.0      3.5   
4    41.0  0.0  2.0   130.0  204.0  0.0      2.0    172.0    0.0      1.4   
..    ...  ...  ...     ...    ...  ...      ...      ...    ...      ...   
292  57.0  0.0  4.0   140.0  241.0  0.0      0.0    123.0    1.0      0.2   
293  45.0  1.0  1.0   110.0  264.0  0.0      0.0    132.0    0.0      1.2   
294  68.0  1.0  4.0   144.0  193.0  1.0      0.0    141.0    0.0      3.4   
295  57.0  1.0  4.0   130.0  131.0  0.0      0.0    115.0    1.0      1.2   
296  57.0  0.0  2.0   130.0  236.0  0.0      2.0    174.0    0.0      0.0   

     slope   ca  thal  num  
0      3.0  0.0   6.0    0  
1      2.0  3.0   3.0    1  
2      2.0  2.0   7.0    1  
3      3.0  0.0   3.0    0  
4      1.0  0.0   3.0    0  
..     ...  ...   ...  ...  
292    2.0  0.0   7.0    1  
293    2.0  0.0   7.0    1  
294    2.0  2.0   7.0    1  
295    2.0  1.0   7.0    1  
296    2.0  1.0   3.0    1  

[297 rows x 14 columns]
df = pd.read_csv('input.data', header=None, names=col_names);
      age    sex    cp    restbp    chol    fbs    restecg    thalach    exang    oldpeak    slope    ca    thal    num
--  -----  -----  ----  --------  ------  -----  ---------  ---------  -------  ---------  -------  ----  ------  -----
 0     63      1     1       145     233      1          2        150        0        2.3        3     0       6      0
 1     67      1     4       160     286      0          2        108        1        1.5        2     3       3      1
 2     67      1     4       120     229      0          2        129        1        2.6        2     2       7      1
 3     37      1     3       130     250      0          0        187        0        3.5        3     0       3      0
 4     41      0     2       130     204      0          2        172        0        1.4        1     0       3      0