Python笔记:数据切片

166 阅读5分钟

以下是在pandas中实现数据切片的常用脚本​。原理不赘述,具体示例如下:

1. 构造数据集

import pandas as pd

df = pd.DataFrame({
    "序号":range(1,11),
    "品类":["水果","水果","水果","水果","水果","蔬菜","蔬菜","蔬菜","蔬菜","蔬菜"],
    "商品":["苹果","西瓜","荔枝","龙眼","菠萝","白菜","土豆","豆芽","番茄","豌豆"],
    "销量":range(10,101,10),
    "销额":range(100,1001,100)
})

df

image.png

2.选取某一列

df["商品"]

image.png

3.选取某一列

df[["商品"]]

image.png

4.选取某一列

df.商品

image.png

5.选取若干列

df[["品类","商品"]]

image.png

6.判断是否包含某关键词

df["商品"].str.contains("豆")

image.png

7.根据关键词筛选

df[df["商品"].str.contains("豆")]

image.png

8.并集筛选

(df["商品"].str.contains("豆")) & (df["销量"] >= 100)

image.png

9.交集筛选

df[(df["销量"] > 90) | (df["销量"] < 60)]

image.png

10.序列筛选

df.iloc[1]

image.png

11.记录筛选

df.iloc[[2]]

image.png

12.筛选前N条记录

df.iloc[:5]

image.png

13.第N+1行至行末

df.iloc[5:]

image.png

14.起始行,终止行,步长

df.iloc[1:10:2]

image.png

15.倒数第N行至行末​

df[-5:]

image.png

16.不属于

df[df["品类"] != "蔬菜"]

image.png

17.不包含

df[~df["品类"].str.contains("水果")]

image.png

18.不包含多关键词

df[~df["商品"].str.contains("白菜|土豆|西瓜|龙眼")]

image.png

19.布尔列表切片

df.iloc[[True,False,True,False,True,False,True,False,True,False]]

image.png

20.包含关键词的行

df.iloc[df["商品"].str.contains("豆").to_list()]

image.png

21.选中第3列(序列)

df.iloc[:,2]

image.png

22.选中第3列(DataFrame)

df.iloc[:,[2]]

image.png

23.表头含某关键字的列

df.iloc[:,df.columns.str.contains("销")]

image.png

24.第i行,第J列元素

df.iloc[1,3]

image.png

25.行列交叉元素组成的信息

df.iloc[[1,3],[2,4]]

image.png

26.含某关键词的行&含某关键词的表头

df.iloc[df["商品"].str.contains("豆").to_list(),df.columns.str.contains("品")]

image.png

27.获取索引值为i的行信息

df.loc[1]

image.png

28.筛选出多个索引值对应的记录

df.loc[[1,3,5,7,9]]

image.png

29.筛选出含某关键字的行

df.loc[df["商品"].str.contains("豆").to_list()]

image.png

30.选中某两列

df.loc[:,["品类","商品"]]

image.png

31.根据字段选择对应的列

df.loc[:,"商品":]

image.png

32.表头含某关键字的列

df.loc[:,df.columns.str.contains("品")]

image.png

33.含某关键词的行&含某关键词的表头

df.loc[df.商品.str.contains("豆"),df.columns.str.contains("品")]

image.png

34.根据索引位置与列名切片

df.loc[df.index[5:],["商品","销量"]]

image.png

35.根据索引名与列位置切片

df.loc[[1,2],df.columns[[2,3,4]]]

image.png

36.筛选某几列

df.filter(items = ["品类","商品","销量"])

image.png

37.根据索引筛选行

df.filter(items = [1,3,5],axis = 0)

image.png

38.表头包含某关键字的列

df.filter(like = "品")

image.png

39.表头以某字结尾的列

df.filter(regex = "品$")

image.png

40.表头以某字开头的列

df.filter(regex = "^销")

image.png

41.Excel实用技巧

1. Excel比率可视化

www.bilibili.com/video/BV1NU…

2. 怎么制作可筛选的Excel折线图

www.bilibili.com/video/BV1Ju…

3. 怎么用隔行填充来美化Excel表格

www.bilibili.com/video/BV1Q3…

4. 用剪切板制作出好看的Excel可视化

www.bilibili.com/video/BV12q…

5. 如何做出好看的Excel可视化图表

www.bilibili.com/video/BV11Q…

6.  解除工作簿密码保护

www.bilibili.com/video/BV1uM…

7. 如何用VBA代码移除工作表密码

www.bilibili.com/video/BV114…

8. 在Excel中怎么用控件制作出具有交互性的可视化图表

www.bilibili.com/video/BV1Y4…

9. 制作可控制开关的数据条

www.bilibili.com/video/BV19q…

10. 如何用Excel制作一个“动态电子表”

www.bilibili.com/video/BV1J4…

11. 会说话的Excel表格

www.bilibili.com/video/BV1qB…

12. 切片器的应用\

www.bilibili.com/video/BV1hT…

13.  Excel字符串函数玩法集锦

www.bilibili.com/video/BV19o…

14.  如何在Excel中重置索引

www.bilibili.com/video/BV1LK…

15. 条件格式+函数的妙用

www.bilibili.com/video/BV1ab…

16. Excel中的字符串拼接

www.bilibili.com/video/BV1of…

17. 空白内容错列填充\

www.bilibili.com/video/BV1yq…

18. 用Excel函数制作工资条

www.bilibili.com/video/BV1YA…

19. 在Excel表格中用Power Query 做聚合运算

www.bilibili.com/video/BV1A6…

20. vlookup函数的那些坑

www.bilibili.com/video/BV1Df…

创作不易,分享难得。如果觉得本文对您有帮助,请不吝动动宝贵的手指帮忙点个赞以示支持一下。后期,我会用心分享更多更精彩、实用的干货给大家,以期共同进步。感谢阅读!