pandas--DataFrame

本文介绍了如何使用pandas创建DataFrame对象,包括行和列的操作、混合操作、切片、Series与DataFrame的运算以及排序方法。详细讲解了DataFrame的索引、广播规则和排序功能,如按标签、值进行排序等。

创建DataFrame对象

注意:绝对不能超过二维数组来创建一个DataFrame对象

df=pd.DataFrame(np.array([[100,100,100],[90,90,90],[80,80,80]]))

输出结果
0 1 2
0 100 100 100

1 90 90 90

2 80 80 80

DataFrame创建的对象,在行和列方向上都有标签索引

DataFrame行操作

DataFrame列操作

DataFrame混合操作操作
先取行再取列
display(df.loc[‘张三’].loc[‘语文’])

display(df.loc[‘张三’][‘语文’])

dislply(df.loc[‘张三’,‘语文’])

先取列再取行
display(df[‘语文’].loc[‘张三’])

display(df[‘语文’][‘张三’])

注意:不支持display(df[‘语文’,‘张三’])

切片
混合操作,列确定对行进行操作
display(df[‘语文’].loc[‘张三’:‘李四’])
display(df[‘语文’].iloc[0:1])

混合操作,行确定对列进行操作
display(df.loc[‘张三’].loc[‘语文’:‘数学’])
display(df.loc[‘张三’].iloc[0:1])

混合操作,对行和列同时进行切片
display(df.loc[‘张三’:‘李四’,‘语文’:‘数学’])

仅对行进行操作
display(df.loc[‘张三’:‘李四’])得到张三和李四的所有信息
display(df.iloc[0:1])表示的通过标签进行索引,也可以得到前两行的数据

Series和DataFrame之间的运算:
默认情况下Series索引匹配Dataframe的列,然后进行广播,也可以通过修改axis参数指定索引匹配还是列索引匹配 例如:

df=pd.DataFreme(np.array(1,5).reshape(2,2))

得到 0 1
0 1 2

  1  3    4

s=Series([10,20])

得到 0 10
1 20

df+s,先把s广播的到 0 1 再和df相加得到 0 1
10 20 11 22
10 20 13 24

修改axis之后,匹配s的列,在广播进行相加 例如:

display(df.add(s,axis=‘index’)) 过程如下:

先在列的方向广播s 0 10 10 再和df相加 得到 11 12

                1   20  20                      23   24 

排序
对行索引进行排序(注意:是标签)
display(df.sort_index())

对列索引进行排序(注意:是标签)
df.sort_index(inplace=True) 表示的对原有数据进行排序,sort_index返回none,inplace=False表示的是对拷贝的数据进行排序

display(df.sort_index(ascending=False)) ascending参数表示的是指定生降序,False降序,True升序

对value进行排序
对列进行排序
df.sort_values(‘外语’,axis=0,inplace=True)axis=0表示的垂直排序,inplace表示的是在原有数据进行排序,默认是升序

对行进行排序
df.sort_values(‘张三’,axis=1) axis=1表示的是对行数据进行排序,把张三的成绩从小到大进行排序

对多列进行排序 例如 将语文和数学进行排序

df.sort_values([‘语文’,‘数学’],axis=0) 因为是对垂直方向进行排序,所以axis=0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值