为什么在附加pandas数据框时列的顺序会改变?

15 浏览
0 Comments

为什么在附加pandas数据框时列的顺序会改变?

我想使用Python的pandas库将文件夹中的所有csv文件合并成一个文件。

例如:假设文件夹中有两个csv文件test1.csvtest2.csv,内容如下:

A_Id    P_Id    CN1         CN2         CN3
AAA     111     702         709         740
BBB     222     1727        1734        1778

A_Id    P_Id    CN1         CN2         CN3
CCC     333     710        750          750
DDD     444     180        734          778

所以我编写的Python脚本如下:

#!/usr/bin/python
import pandas as pd
import glob
all_data = pd.DataFrame()
for f in glob.glob("testfolder/*.csv"):
    df = pd.read_csv(f)
    all_data = all_data.append(df)
all_data.to_csv('testfolder/combined.csv')

尽管combined.csv似乎包含了所有合并的行,但它的样式如下:

      CN1       CN2         CN3    A_Id    P_Id
  0   710      750         750     CCC     333
  1   180       734         778     DDD     444     
  0   702       709         740     AAA     111
  1  1727       1734        1778    BBB     222

而它应该是这样的:

A_ID   P_Id   CN1    CN2    CN2
AAA    111    702    709    740
BBB    222    1727   1734   1778
CCC    333    710    750    750
DDD    444    180    734    778

  • 为什么前两列被移到了最后?
  • 为什么它在第一行而不是最后一行追加?

我错过了什么?如何去掉第一列的0和1?

附注:由于这些是大型的csv文件,我考虑使用pandas库。

0