为什么在附加pandas数据框时列的顺序会改变?
为什么在附加pandas数据框时列的顺序会改变?
我想使用Python的pandas库将文件夹中的所有csv文件合并成一个文件。
例如:假设文件夹中有两个csv文件test1.csv
和test2.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库。