gpt4 book ai didi

python - 如何根据非字母名称对带有 Pandas 的行进行排序

转载 作者:行者123 更新时间:2023-12-04 21:11:15 25 4
gpt4 key购买 nike

我的公司要求我解决一个基本的编程问题(我是 Python 新手)。

如果我在具有以下布局的 excel 文件中有一个数组:

Panel Value
Left 70
Right 50
Top 30

由于代码生成 csv 文件按字母顺序对列进行排序;我希望它写入excel:
Panel Value
Left 70
Top 30
Right 50

到目前为止,我对 csv 文件进行排序的代码是:
import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
import xlrd

df = pd.read_excel('Test.xlsx')
df.sort_values(["Panel","Value"], axis=0,
ascending=[True,False], inplace=True)
df.to_csv('Output2.csv')
print(df)

最佳答案

从评论中我了解到您想要进行“手动”排序。所以在这种情况下,我们必须通过将列表传递给 DataFrame.reindex 来对其进行硬核。 :

df = df.set_index('Panel').reindex(['Left', 'Top', 'Right']).reset_index()

Panel Value
0 Left 70
1 Top 30
2 Right 50

完整工作示例 :
df = pd.DataFrame({'Panel':['Left', 'Right', 'Top'],
'Value':[70, 50, 30]})
print(df, '\n')


df = df.set_index('Panel').reindex(['Left', 'Top', 'Right']).reset_index()
print(df)
   Panel  Value
0 Left 70
1 Right 50
2 Top 30

Panel Value
0 Left 70
1 Top 30
2 Right 50

Process finished with exit code 0

关于python - 如何根据非字母名称对带有 Pandas 的行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59567905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com