程序员的公众号:源1024,获取更多资料,无加密无套路!
最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上
默认为升序,ascending=[True]
import pandas as pd
import numpy as np
from pandas import Series,DataFrame
df = DataFrame(data = np.random.randint(1,50,size=(3,4)),columns=list('abcd'),index=list('ABC'))
print(df)
# 对c列升序
df_sort = df.sort_values('c')
print(df_sort)
df_sort = df.sort_values('c',ascending=[True])
print(df_sort)
#输出
a b c d
A 3 8 47 29
B 23 8 37 41
C 48 14 7 30
a b c d
C 48 14 7 30
B 23 8 37 41
A 3 8 47 29
a b c d
C 48 14 7 30
B 23 8 37 41
A 3 8 47 29
ascending=[False]
#降序
df_sort = df.sort_values(by=['c'],ascending=[False])
print(df_sort)
#输出
a b c d
A 3 8 47 29
B 23 8 37 41
C 48 14 7 30
默认sort_values()返回一个新的DataFrame对象,如果想直接对原DataFrame排序,使用ascending=[True]来设置
df = DataFrame(data = np.random.randint(1,50,size=(3,4)),columns=list('abcd'),index=list('ABC'))
df_sort = df.sort_values('c',inplace=True)
print(df_sort)
print(df)
#输出
None
a b c d
C 48 14 7 30
B 23 8 37 41
A 3 8 47 29
df1 = DataFrame([['小班','10'],['中班','15'],['大班','20'],['大班','20']],columns=['name','num'])
df2 = DataFrame([['小班','11'],['中班','15']],columns=['name','num'])
#交集
print(pd.merge(df1,df2,on=['name','num']))
#输出
name num
0 中班 15
#并集
print(pd.merge(df1,df2,on=['name','num'],how = 'outer'))
#输出
name num
0 小班 10
1 中班 15
2 大班 20
3 大班 20
4 小班 11
df = df.copy()
print(df)
#输出
a b c d
C 48 14 7 30
B 23 8 37 41
A 3 8 47 29
print(df.index.tolist())
#输出
['C', 'B', 'A']
print(df.columns.tolist())
#输出
['a', 'b', 'c', 'd']
print(df.head(1))
#输出
a b c d
C 48 14 7 30
print(df.tail(1))
a b c d
A 3 8 47 29