使用熊猫将多个csv文件添加到一个csv文件中,NaN出错

时间:2019-02-18 03:38:55

标签: python pandas csv

在这里,我有三个具有相同标题的csv文件。我想将这三个csv文件合并为一个具有相同标题的csv文件。 这是我的三个csv文件。我想用带有列名的panda python编写它。我看到了很多解决方案,但对我来说不起作用。谁能帮助我解决这个问题?

csv 1

enter image description here

csv2

enter image description here

csv 3

enter image description here

输出如下:

enter image description here

尝试了所有人都建议我的代码后,它为我提供了某些列中没有值,没有标题名称的信息。

enter image description here

尝试了您的代码(@Benji)之后,它给出了NaN值的输出: enter image description here

错误: enter image description here

更改代码后的数据框

enter image description here

4 个答案:

答案 0 :(得分:0)

我认为“合并”是指工会。这是这样做的方法

import natsort
df=df.reindex(columns=natsort.natsorted(df.columns))
df
Out[115]: 
   A#0.25  A#1  A#2  A#10  B#0.25  B#1  B#2  B#10
0       0    0    0     0       0    0    0     0

答案 1 :(得分:0)

df1 = pd.read_csv('f1.csv')
df2 = pd.read_csv('f2.csv')
df3 = pd.read_csv('f3.csv')

frames = [df1, df2, df3]
result = pd.concat(frames)

答案 2 :(得分:0)

读取.csv文件时可能存在问题 尝试这样阅读:

df1 = pd.read_csv('1.csv', header = 0, names=['date', 'time', 'x1', 'x2', 'x3'])
df2 = pd.read_csv('2.csv', header = 0, names=['date', 'time', 'x1', 'x2', 'x3'])
df3 = pd.read_csv('3.csv', header = 0, names=['date', 'time', 'x1', 'x2', 'x3'])    
df = pd.concat([df1, df2, df3], axis = 0)
df = df.sort_values('time').reset_index(drop = True)

答案 3 :(得分:0)

我遇到了这个确切的问题,并像这样解决了它:

df = pd.concat([pd.read_csv(i) for i in csv_files])
df = df.reset_index(drop=True)

重要的一行是df.reset_index(drop=True。这就是连接各列的原因。