Python数据分析——筛选表格数据

利用pandas对表格中的数据进行筛选,找出符合条件的数据

导入包和数据

import numpy as np
import pandas as pd
df=pd.read_csv('mytrain.csv')
df.head(3)
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarkedUnnamed: 12
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNSNaN
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85CNaN
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNSNaN

1.简单的条件筛选

筛选出age<10的所有信息

df[df["Age"]<10].head(3)
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarkedUnnamed: 12
7803Palsson, Master. Gosta Leonardmale2.03134990921.075NaNSNaN
101113Sandstrom, Miss. Marguerite Rutfemale4.011PP 954916.700G6SNaN
161703Rice, Master. Eugenemale2.04138265229.125NaNQNaN

筛选Age在[10,50]的信息,并重命名数据

midage=df[(df["Age"]>10)&(df["Age"]<50)]
midage.head(3)
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarkedUnnamed: 12
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNSNaN
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85CNaN
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNSNaN

2.筛选显示指定行的指定列

筛选midage数据中第100行的"Pclass"和"Sex"的数据

midage=midage.reset_index(drop=True)
midage.head(3)
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarkedUnnamed: 12
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNSNaN
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85CNaN
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNSNaN

reset_index()的作用:重置索引,使数据获得新的index,drop=True是不保留原来的索引,默认为Flase

midage.loc[[100],['Pclass','Sex']]
PclassSex
1002male
midage.loc[[100,105,108],['Pclass','Name','Sex']]
PclassNameSex
1002Byles, Rev. Thomas Roussel Davidsmale
1053Cribb, Mr. John Hatfieldmale
1083Calic, Mr. Jovomale

用iloc方法筛选

将midage中100,105,108行的"Pclass",“Name”,"Sex"筛选出来

midage.iloc[[100,105,108],[2,3,4]]
PclassNameSex
1002Byles, Rev. Thomas Roussel Davidsmale
1053Cribb, Mr. John Hatfieldmale
1083Calic, Mr. Jovomale
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值