不同于前面2篇讲述了按行选择和按列选择,这一篇讲述利用行列同选择的内容。所谓行列同时选择,就是按行筛选的结果和按列筛选的结果取交集,即为按行列同时选择的结果。
本文用到的Excel截图如下:
先增加一个行索引
import pandas as pd
df = pd.read_excel(r'C:\Users\admin\Desktop\数据分析测试表.xlsx')
df.index = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L']
print(df)
复制代码
result:
分类 书名 作者
A 历史 史记 司马迁
B 小说 红楼梦 曹雪芹
C 散文 文化苦旅 余秋雨
D 历史 明朝那些事儿 当年明月
E 漫画 半小时漫画 混子曰
F 随笔 培根随笔 培根
G 小说 红楼梦 曹雪芹
H 散文 文化苦旅 余秋雨
I 历史 明朝那些事儿 当年明月
J 历史 资治通鉴 司马光
K 散文 行者无疆 余秋雨
L 漫画 半小时唐诗 混子曰
复制代码
1.普通索引+普通索引
其实就是行名加列名进行数据筛选
df.index = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L']
print(df.loc[['A', 'D'], ['书名']])
复制代码
result:
书名
A 史记
D 明朝那些事儿
复制代码
2.位置索引+位置索引
其实就是行的位置加列的位置进行数据筛选
df.index = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L']
print(df.loc[['A', 'D'], ['书名']])
复制代码
df.index = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L']
print(df.iloc[[0, 3], [1]])
复制代码
result:
书名
A 史记
D 明朝那些事儿
复制代码
3.布尔索引+普通索引
是先对表进行布尔选择选择行,然后通过普通索引选择列
df.index = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L']
print(df[df['分类'] == '小说'][['书名', '作者']])
复制代码
result:
书名 作者
B 红楼梦 曹雪芹
G 红楼梦 曹雪芹
复制代码
4.切片索引+切片索引
是通过同时传入行、列索引的位置区间进行数据选择
df.index = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L']
print(df.iloc[0:2, 1:3])
复制代码
result:
书名 作者
A 史记 司马迁
B 红楼梦 曹雪芹
复制代码
和python切片一样,都是包含开头不包含结尾
近期评论