Python (十四)pandas(二)


程序员的公众号:源1024获取更多资料,无加密无套路!

最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上


排序-sort_values()

升序

默认为升序,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


系列文章索引

Python (一) 操作Mysql

Python (二) 读写excel文件

Python (三) 读写csv文件

Python (四)读写word

Python (五) 处理图像

Python (六) 绘图

Python(七)操作JSON


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值