在这里,我有三个具有相同标题的csv文件。我想将这三个csv文件合并为一个具有相同标题的csv文件。 这是我的三个csv文件。我想用带有列名的panda python编写它。我看到了很多解决方案,但对我来说不起作用。谁能帮助我解决这个问题?
csv 1
csv2
csv 3
输出如下:
尝试了所有人都建议我的代码后,它为我提供了某些列中没有值,没有标题名称的信息。
尝试了您的代码(@Benji)之后,它给出了NaN值的输出:
更改代码后的数据框
答案 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
。这就是连接各列的原因。