Jul*_* S. 3 python numpy dataframe pandas
我必须根据字典对数据帧的列的值/行进行排序,字典包含数据帧的每个值及其行索引,但排序不同。
howToSortDict = {'Brazil': 2, 'Russia': 0, 'China': 1} # row value and its index
myDict = {
"countries": ["Brazil", "Russia", "China"],
"amount": [1000, 2000, 3000]
}
df = pd.DataFrame(myDict)
Run Code Online (Sandbox Code Playgroud)
它们的排序方式:
countries amount
0 Brazil 1000
1 Russia 2000
2 China 3000
Run Code Online (Sandbox Code Playgroud)
我需要如何对它们进行排序(作为数据框):
countries amount
0 Russia 2000
1 China 3000
2 Brazil 1000
Run Code Online (Sandbox Code Playgroud)
关于如何在不循环每一行的情况下实现这一点的任何想法?
使用argsort
df=df.iloc[df.countries.map(howToSortDict).argsort()]
countries amount
1 Russia 2000
2 China 3000
0 Brazil 1000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1867 次 |
| 最近记录: |