![](/img/trans.png)
[英]Is there a way to sort a pandas dataframe by column of numerical strings?
[英]Pandas sort dataframe by column with strings and integers
我有一個包含整數和字符串的列的數據框:
>>> df = pd.DataFrame({'a':[2,'c',1,10], 'b':[5,4,0,6]})
>>> df
a b
0 2 5
1 c 4
2 1 0
3 10 6
我想按列 a 對數據框進行排序,分別處理字符串和整數,首先使用字符串:
>>> df
a b
1 c 4
2 1 0
0 2 5
3 10 6
...但 Python 不允許將整數與字符串進行比較。
TypeError: unorderable types: int() > str()
如果我首先將所有整數轉換為字符串,我不會得到我想要的:
>>> df.a = df.a.astype(str)
>>> df.sort(columns='a')
a b
0 1 0
3 10 6
2 2 5
1 c 4
有沒有人知道一種單行方式告訴 Pandas 我希望它先對字符串進行排序,然后是整數,而不是先將數據幀分成幾部分?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.