本文主要讲series和dataframe如何根据索引或者是值进排序

series排序

series = pd.Series([3, 2, 4, 1, 6, 7], index=['b', 'a', 'd', 'c', 'e', 'f'])
print(series)
print('---series通过索引进行排序(排序时默认升序,ascending=False 降序)---')
print(series.sort_index())
print('---series通过值进行排序---')
print(series.sort_values())

---------------输出结果---------------------------
b    3
a    2
d    4
c    1
e    6
f    7
dtype: int64
---series通过索引进行排序---
a    2
b    3
c    1
d    4
e    6
f    7
dtype: int64
---series通过值进行排序---
c    1
a    2
b    3
d    4
e    6
f    7
dtype: int64

dataframe排序

frame = pd.DataFrame([[2, 7, 4, 9, 1, 5], [3, 7, 1, 9, 4, 5], [5, 7, 9, 1, 4, 2]],
                     columns=['b', 'e', 'f', 'a', 'd', 'c'],
                     index=['one', 'two', 'three'])

print(frame)

print('---dataframe根据行索引进行降序排序(排序时默认升序,调节ascending参数)---')
print(frame.sort_index(ascending=False))
print('---dataframe根据列索引进行排序---')
print(frame.sort_index(axis=1))
print('---dataframe根据值进行排序:---')
print(frame.sort_values(by='a'))
print('---通过多个索引进行排序:---')
print(frame.sort_values(by=['a', 'c']))

---------------输出结果---------------------------

       b  e  f  a  d  c
one    2  7  4  9  1  5
two    3  7  1  9  4  5
three  5  7  9  1  4  2
---dataframe根据行索引进行降序排序(排序时默认升序,调节ascending参数)---
       b  e  f  a  d  c
two    3  7  1  9  4  5
three  5  7  9  1  4  2
one    2  7  4  9  1  5
---dataframe根据列索引进行排序---
       a  b  c  d  e  f
one    9  2  5  1  7  4
two    9  3  5  4  7  1
three  1  5  2  4  7  9
---dataframe根据值进行排序:---
       b  e  f  a  d  c
three  5  7  9  1  4  2
one    2  7  4  9  1  5
two    3  7  1  9  4  5
---通过多个索引进行排序:---
       b  e  f  a  d  c
three  5  7  9  1  4  2
one    2  7  4  9  1  5
two    3  7  1  9  4  5


本文地址: http://chenxm.cc/article/1011.html
版权声明: 本文为原创文章,版权归  陈新明  所有,欢迎分享本文,转载请保留出处!
上一篇: python3 redis 返回字节(bytes)而不是字符串(string)
下一篇: pandas series/DataFrame 更换索引
发表评论

还没有留言,还不快点抢沙发?