介绍一个在数据分析中常用的函数:data.iloc[]

平时处理数据集中,总是需要选中一些列的数据,去预测其他列的数据,所以data.iloc\[\],在数据分析中显得尤为方便。

介绍一下data.iloc\[\]

data.iloc[] 是 Python 中 pandas 库的一个非常有用的功能,它允许你通过行和列的整数位置索引来选择数据。iloc 是 "integer location" 的缩写,意味着你可以通过指定行和列的整数索引来选择数据,而不是使用标签。

以下是一些使用 data.iloc[] 的基本示例:

  1. 选择单个元素

    使用 data.iloc[row_index, column_index] 来选择特定的元素。

    python 复制代码
    element = data.iloc[0, 1]  # 选择第1行第2列的元素
  2. 选择一行

    使用 data.iloc[i,:] 来选择第 i 行的所有列。

    python 复制代码
    row = data.iloc[2, :]  # 选择第3行的所有列
  3. 选择一列

    使用 data.iloc[:, j] 来选择第 j 列的所有行。

    python 复制代码
    column = data.iloc[:, 1]  # 选择第2列的所有行
  4. 选择多个行和列

    使用 data.iloc[i:m, j:n] 来选择从第 i 行到第 m 行,第 j 列到第 n 列的数据。

    python 复制代码
    sub_data = data.iloc[0:3, 1:4]  # 选择第1行到第3行,第2列到第4列的数据
  5. 使用切片
    iloc 也支持 Python 的切片语法,可以用于选择行或列的范围。

    python 复制代码
    sub_data_rows = data.iloc[0:5:2, :]  # 选择第1行到第5行,步长为2的行
    sub_data_cols = data.iloc[:, 1:5:2]  # 选择第2列到第5列,步长为2的列
  6. 选择多个不连续的行或列

    使用数组或列表来选择多个不连续的行或列。

    python 复制代码
    selected_rows = data.iloc[[0, 2, 4], :]  # 选择第1、3、5行的所有列
    selected_cols = data.iloc[:, [1, 3]]     # 选择第2、4列的所有行

请注意,在使用 iloc 时,索引是从0开始的,即第一行或第一列的索引是0。此外,iloc 只能用于选择行和列,不能用于选择 DataFrame 中的标签(即列名或索引)。如果你需要基于标签选择数据,应该使用 loc 而不是 iloc

在数据分析代码中的应用

这是在一个数据分析代码中的一部分,这里就用了iloc\[\]选取前两列作为特征数据,第三列作为目标变量(也就是通过前两列的值预测最后一列的数据)。

python 复制代码
# 1. 数据加载
data = pd.read_csv('data.csv')
X = data.iloc[:, :2]  # 取前两列作为特征
y = data.iloc[:, 2]  # 取第三列作为目标变量

# 2. 数据预处理
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
相关推荐
zhangfeng11331 分钟前
昇腾 950PR/950DT 新增regbase 编程方式和MemBase SIMD/SIMT 混合编程模型
人工智能·华为·ai编程·npu·cann
JoyCong19983 分钟前
鸿蒙用户等来的是ToDesk:折叠屏适配、星闪笔、互动Tab一次补齐
人工智能·智能手机·电脑·鸿蒙·鸿蒙系统·远程工作·ipad
飞猫的边缘AI4 分钟前
边缘AI时事:从豆包手机二代和Rokid×WorkBuddy联名AI眼镜看AI智能体进终端的必然与边界
人工智能·ai智能体·rokid眼镜·workbuddy·豆包手机二代
艾醒(AiXing-w)5 分钟前
LangChain 1.0 智能体开发(三):Agent 记忆管理——从短期对话到跨会话长期记忆
数据库·人工智能·langchain
知几蜗牛7 分钟前
部署大模型别先选GPU,先回答你愿意承担多少运维
人工智能
知几蜗牛7 分钟前
AI写了80万行Rust,最值得学的却是它花十倍精力读代码
人工智能
天云数据8 分钟前
OPC保姆级指南:被优化的第四个月,我在图书馆里想好了开家公司
人工智能
知几蜗牛9 分钟前
语音AI为什么总抢话?用VAD和打断机制做对实时对话
人工智能
fellow999 分钟前
V100 的上下文极限:vLLM 卡 131K,llama.cpp 冲 230K
人工智能·自然语言处理
AgentMaster10 分钟前
数据资产化落地难题:5款数据中台系统架构对比与实施记录
大数据·人工智能·算法