pandas 切片_入门Pandas练习

a96597d40f2b4b0fad62295c1784fbeb.png

本节主要是自己学习pandas的练习,与你分享。

导入Pandas与NumPy

import numpy as np
import pandas as pd

生成Series时,pandas默认生成整数索引,我们尝试一下。

s = pd.Series([23,2,5,np.nan,6,9])
s

7b05cd0e07555eb3d59a45f80a856ed7.png

使用时间索引与含有标签的Numpy数组生成DataFrame

dates = pd.date_range('20200101',periods=7)
dates

d7f803806915b9ab22bdf78c950f8fb7.png

使用随机数生成一个7*4的数据表。

5b236bf6b7f51d043a4546008fbcf023.png

使用Series字典生成DataFrame

df2 = pd.DataFrame({'A':1.2,
                    'B':pd.Series(1,index=list(range(4)),dtype='float32'),
                    'C':pd.Timestamp('20200101'),
                    'D':np.array([3]*4,dtype='int32'),
                    'E':pd.Categorical(["test","tarin","test","train"]),
                    'F':'foo'})
df2

bcfaac63f67eca8ab69c648bbd15c824.png

我们查看一下df2中每列的数据类型

df2.dtypes

661bc8738b6b5c3427af0159d2470962.png

下面进入数据查看环节,查看数据的前几行和结尾几行的数据:

df.head()#默认是5行

439ad4f9d271fb65a46fe73bac765773.png
df.head(3)#可以输入数字查看相应行数

9d0640d264b00afed165b866215a4715.png
df.tail(3)#查看最后3行

a14ad183b6c54f79966bb7a46e312b70.png

显示索引与列名

5ef0740276a703ec64e2dcabf63045e4.png

快速的查看数据统计概要:

7e081bea0c843770a0cfcc7ad4ef6ae6.png

数据转置:

868ad1f4c1c411177ebbd84e4648f5e2.png

提取数据

获取单列数据,选择单列,产生Series,与df.A 等效

a7adb887400b6e5db38841b97178f995.png

使用[ ]切片:

c91cfd082eda863ead8be96553eef110.png

15dd84524a36866b4f123ff9720202cb.png

按标签选择,用标签提取一行数据

34b394526e7bf39b1c95f8cd4d603b0c.png

用标签选择多列数据

feae07baca29421d41e4172ae29f832a.png

用标签切片,包含行与列结束点:

1dbb3ee737ef8b7aff69419c3806fee7.png

提取标量值:

a682c9e4152450b9ca13c5f2f0a9daea.png

使用整数位置选择

530505a4dc4b4bba49110c6daa8a7f89.png

类似 NumPy / Python,用整数切片:

39a578a2ba76391ce5c412608d8fa8ab.png

显示整行的切片:

086475f5577995d4d95ffa7d60b1bbe8.png

显示整列的切片:

3e30895a78a67096b4068678f1826f4e.png

布尔索引,用单列的值选择数据:

168789ae96bb4a5c63d07215639018f6.png

提取出DataFrame 里满足条件的值:

6997e5b2d96c12edcbf9dd70934c6720.png

使用isin筛选:

27cc6ba724d31102c86487707a5dc94c.png

用索引自动对齐新增列的数据:

ec495902499eb727339e82d798bb0b2b.png

按标签赋值:

d7530ff52b4934c2bf6fbd5f47d53803.png

按位置赋值

440d6ba1c0860b9bb6a8cfe58ea3d6cc.png

按 NumPy 数组赋值:

8b0342223345735828b4cca13127d3c7.png

Pandas 主要用 np.nan 表示缺失数据,计算时,默认不包含空值。 重建索引(reindex)可以更改、添加、删除指定轴的索引,并返回数据副本,即不更改原数据。

90cde8cc3639219d89541049b42b9804.png

删除所有包含空值的行:

86afdec4ead8401a0e407e20349bde57.png

填充缺失值:

036a1300600d1874fc3b5246597faf95.png

计算均值:

d9c910b691bb23d333414b48328e7050.png

数值计数:

e8741fac1e9f1648c52166b73a61769b.png

包含的字符串的处理功能str:

c7d0b0efa27bd0c2684b58401ac2ce14.png

数据合并,pandas 提供了多种将 Series、DataFrame 对象组合在一起的功能,用索引与关联代数功能的多种设置逻辑可执行连接(join)与合并(merge)操作。

8f0fe03a3be14c1ff7316226e0635a6f.png

为 DataFrame 追加行:

fd9f69a24028c8d575b1e6dcaaea0c57.png

分组,“group by” 指的是涵盖下列一项或多项步骤的处理流程:

分割:按条件把数据分割成多组;

应用:为每组单独应用函数;

组合:将处理结果组合成一个数据结构。

cff51465bb48f7103675207772e7d507.png

先分组,再用 sum()函数计算每组的汇总数据:

44a02c7248f17e96c8fc2429e33359ac.png

多列分组后,生成多层索引,也可以应用 sum 函数:

d2a95cf7533bbc97f8b37df686fab064.png

以上为学习所得,希望对你有帮助。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值