在Python中按选择对数据帧列排序
我的代码通过XML文件运行并解析某些数据。我正在使用pandas来组织、设置数据帧并写入CSV,如下所示:在Python中按选择对数据帧列排序,python,pandas,csv,dataframe,Python,Pandas,Csv,Dataframe,我的代码通过XML文件运行并解析某些数据。我正在使用pandas来组织、设置数据帧并写入CSV,如下所示: data = {"Name":inv_names, "Publication Date":date_pub, "Document Number":doc_num, "Patcit":name_citation, "Npatcit":data2, "Country":data3, "MainClass":data13}
data = {"Name":inv_names, "Publication Date":date_pub, "Document Number":doc_num, "Patcit":name_citation, "Npatcit":data2, "Country":data3, "MainClass":data13}
df = pd.concat([df, pd.DataFrame(data)])
with open("./output.csv", "a", encoding = 'utf-8') as f:
df.to_csv(f, index = False)
这将打印到CSV文件,如下所示:
Country Document Number MainClass Name Npatcit Patcit Publication Date
我真正想做的就是重新排序这些数据,如:
Name Publication Date Document Number ..... (just like the order given by data above)
可能是一个简单的例子,但我尝试过按不同类型对df.sort_values()进行排序,但似乎没有任何效果。您可以手动对列重新排序
df = df[['Name','Publication Date','Document Number'....]]
另一个建议是不要使用常规dict对象,因为key:value对的顺序没有保留。您可以使用OrderedICT(从集合导入OrderedICT),它将保留键:值顺序。