合并两个.csv文件Python Pandas

2024-04-25 14:50:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个.csv文件具有相同的初始列标题:

NAME         RA        DEC  Mean_I1  Mean_I2  alpha_K24 class  alpha_K8 class.1      Av  avgAv
Mon-000101  100.27242   9.608597   11.082   10.034       0.39     I      0.39       I              31.1      31.1
Mon-000171  100.29230   9.522860   14.834   14.385       0.45     I      0.45       I          33.7      33.7

以及

^{pr2}$

我想把这两个合并在一起,这样“NAME”列就可以匹配了,基本上只需将两个Sdev_I1/Sdev_I2添加到第一个示例的末尾。我试过。。。在

import pandas as pd

df1 = pd.read_csv('h7.csv',sep=r'\s+')
df2 = pd.read_csv('NEW.csv',sep=r'\s+')

df = pd.merge(df1,df2)

df.to_csv('Newh7.csv',index=False)

但它打印了两次“名字”,一切似乎都不正常,而且还加了很多零。我以为我早就解决了这个问题,但我完全失去了它。如有帮助,不胜感激。谢谢。在

输出文件如下:

NAME,RA,DEC,Mean_I1,Mean_I2,alpha_K24,class,alpha_K8,class.1,Av,avgAv,Sdev_I1,Sdev_I2

Tags: 文件csvnamealphameandecclasspd
1条回答
网友
1楼 · 发布于 2024-04-25 14:50:23

似乎您没有在第二个csv中去掉逗号符号,您可以尝试使用转换器来转换它们:

In [81]: converters = {
             'NAME': lambda x:x[:-1], 
             'Sdev_I1': lambda x: float(x[:-1]),     
             'Sdev_I2': lambda x: float(x[:-1])
         }

In [82]: pd.read_csv('NEW.csv',sep=r'\s+', converters=converters)
Out[82]: 
         NAME  Sdev_I1  Sdev_I2
0  Mon-000002    0.023    0.028
1  Mon-000003    0.016    0.016

相关问题 更多 >