数据分析_python进行数据筛选1_列筛选

以titanic的训练数据为例进行展示,为了简化取前十行为例

首先导入模块,导入数据 

import pandas as pd 
import numpy as np

df = pd.read_csv(r"C:\Users\admin\Desktop\train.csv")
df = df.head(10)
df.index=['a','b','c','d','e','f','g','h','i','g']

 

 PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
a103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
b211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
c313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
d411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
e503Allen, Mr. William Henrymale35.0003734508.0500NaNS
f603Moran, Mr. JamesmaleNaN003308778.4583NaNQ
g701McCarthy, Mr. Timothy Jmale54.0001746351.8625E46S
h803Palsson, Master. Gosta Leonardmale2.03134990921.0750NaNS
i913Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)female27.00234774211.1333NaNS
g1012Nasser, Mrs. Nicholas (Adele Achem)female14.01023773630.0708NaNC

筛选单列

1.利用df[列名]df[[列名]]df.列名均可以筛选出单列,但稍微有点区别,df[列名]和df.列名均为Series类型,而df[[列名]]为DataFrame类型

#例如选取Age列,注意写成df[]形式时,列名需要加单引号或双引号
df.Age
df['Age']
df[['Age']]

2.loc[行索引,列索引],索引为普通索引,传入行索引名称和列索引名称,筛选列时,行索引可以写成":"

#删选单列时,列索引名称可以加[]也可以不加,不加时返回为Series,加时返回为DataFrame
df.loc[:,'Age']
df.loc[:,['Age']]

3.iloc[行索引,列索引],索引为位置索引,传入行数和列数,筛选列时,行索引可以写成":"

df.iloc[:,1]
df.iloc[:,[1]]

筛选多列

1.利用df[[列名1,列名2,列名n]]可以筛选出多列,返回结果为DataFrame类型,例如筛选年龄列和姓名列

df[['Name','Age']]

2.loc[行索引,列索引],索引为普通索引,传入行索引名称和列索引名称,筛选列时,行索引可以写成":",如果筛选列不连续需要写成列表形式,如果列连续可以写成切片形式

df.loc[:,['Name','Age']]
df.loc[:,'Name':'Age']

3.iloc[行索引,列索引],索引为位置索引,传入行数和列数,筛选列时,行索引可以写成":",如果筛选列不连续需要写成列表形式,如果列连续可以写成切片形式

df.iloc[:,[3,4,5,6]]
df.iloc[:,3:6]

 

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值