DataFrame的切片与索引详解

1 篇文章 0 订阅
1 篇文章 0 订阅

Pandas DataFrame的切片与索引详解

以下面的数据为例子

import pandas as pd
import numpy  as np
data=pd.DataFrame({
    "A":np.random.randint(5,50,5),
    "B":np.random.randint(15,50,5),
    "C":list(range(5)),
    "D":"x"})

在这里插入图片描述

1 单独取行

1.1 只取某一行
data.iloc[0]  # pandas series` 也可加上",:" 
data.iloc[[0]] # dataframe`   也可加上",:" 即:data.iloc[[0],:]
1.2 取连续某几行
data[1:3] # dataframe         也可加上",:"
data.iloc[1:3] # dataframe    也可加上",:"
1.3 不连续的几行
data.iloc[[1,3]]  # dataframe   也可加上",:"
1.4 布尔索引
data[data.C>2]   # dataframe
1.5 匿名函数
data.iloc[lambda data:list(range(0,4,2))]  # dataframe,隔一行取一个
								# 也可加上",:"data.iloc[lambda data:list(range(0,4,2)),:] 

2 单独取列

2.1 只取一列
data['A']       # 单独一列是个series
data.A        # 单独一列是个series
data.loc[:,'A'] # 同上
data.iloc[:,0] # 同上,无需列名

data[['A']]       #单独一列是个dataframe
data.loc[:,['A']] # 同上
data.iloc[:,[0]] # 同上,无需列名
2.2 取某几列
data[['A','C']]       # 指定某几列,直接用列名,结果为dataframe,
data.loc[:,['A','C']] #  同上
data.iloc[:,[0,2]]   # 同上,无需列名
2.3 取连续几列
data.loc[:,'A':'C']  #用列名 
data.iloc[:,0:3]     #用数字

3 既取行又取列

3.1利用df.iloc
data.iloc[[1,3],[0]]  # dataframe
data.iloc[[1,3],0]    # series
data.iloc[[1,3],1:3]  # dataframe
data.iloc[[1,3],[1,3]] # dataframe
3.2利用df.loc
data.loc[1,["A","D"]]     # series 
data.loc[[1],["A","D"]]   # dataframe
data.loc[[1,3],"A":"D"]   # dataframe
data.loc[[1,3],["A","D"]]  # dataframe`
  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值