Pandas索引
import pandas as pd
df = pd.read_csv('C:/JupyterWork/data/titanic.csv')
:5
df['Age'][:5]
0 22.0
1 38.0
2 26.0
3 35.0
4 35.0
Name: Age, dtype: float64
1、指定显示两个列以上的数据
:5
df[['Age','Fare']][:5]
Age Fare
0 22.0 7.2500
1 38.0 71.2833
2 26.0 7.9250
3 35.0 53.1000
4 35.0 8.0500
指定显示行索引具体的数据需要用到loc和iloc
loc:用label来定位去获取数据
iloc:用位置来定位获取数据
0
df.iloc[0]
PassengerId 1
Survived 0
Pclass 3
Name Braund, Mr. Owen Harris
Sex male
Age 22
SibSp 1
Parch 0
Ticket A/5 21171
Fare 7.25
Cabin NaN
Embarked S
Name: 0, dtype: object
0:5
df.iloc[0:5]
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
在显示指定的行数据上,再次过滤显示指定列的数据
1:3]
df.iloc[0:5,1:3]
Survived Pclass
0 0 3
1 1 1
2 1 3
3 1 1
4 0 3
df = df.set_index('Name')
用标签名称做定位就用loc
用一个数值定位,就用iloc
df.loc['Braund, Mr. Owen Harris']
df.loc['Braund, Mr. Owen Harris']
PassengerId 1
Survived 0
Pclass 3
Sex male
Age 22
SibSp 1
Parch 0
Ticket A/5 21171
Fare 7.25
Cabin NaN
Embarked S
Name: Braund, Mr. Owen Harris, dtype: object
用loc定位显示指定行中,指定列的数据
df.loc['Braund, Mr. Owen Harris','Fare']
df.loc['Braund, Mr. Owen Harris','Fare']
7.25
用loc定位具体的数据后,并修改数据
df.loc['Braund, Mr. Owen Harris','Fare']=1000
df.loc['Braund, Mr. Owen Harris','Fare']
1000.0
boolean 类型索引
df['Fare']>40
Name
Braund, Mr. Owen Harris True
Cumings, Mrs. John Bradley (Florence Briggs Thayer) True
Heikkinen, Miss. Laina False
Futrelle, Mrs. Jacques Heath (Lily May Peel) True
Allen, Mr. William Henry False
Moran, Mr. James False
McCarthy, Mr. Timothy J True
Palsson, Master. Gosta Leonard False
Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) False
Nasser, Mrs. Nicholas (Adele Achem) False
Sandstrom, Miss. Marguerite Rut False
Bonnell, Miss. Elizabeth False
Saundercock, Mr. William Henry False
Andersson, Mr. Anders Johan False
Vestrom, Miss. Hulda Amanda Adolfina False
Hewlett, Mrs. (Mary D Kingcome) False
Rice, Master. Eugene False
Williams, Mr. Charles Eugene False
Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele) False
Masselmani, Mrs. Fatima False
Fynney, Mr. Joseph J False
Beesley, Mr. Lawrence False
McGowan, Miss. Anna "Annie" False
Sloper, Mr. William Thompson False
Palsson, Miss. Torborg Danira False
Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson) False
Emir, Mr. Farred Chehab False
Fortune, Mr. Charles Alexander True
O'Dwyer, Miss. Ellen "Nellie" False
Todoroff, Mr. Lalio False
...
Giles, Mr. Frederick Edward False
Swift, Mrs. Frederick Joel (Margaret Welles Barron) False
Sage, Miss. Dorothy Edith "Dolly" True
Gill, Mr. John William False
Bystrom, Mrs. (Karolina) False
Duran y More, Miss. Asuncion False
Roebling, Mr. Washington Augustus II True
van Melkebeke, Mr. Philemon False
Johnson, Master. Harold Theodor False
Balkic, Mr. Cerin False
Beckwith, Mrs. Richard Leonard (Sallie Monypeny) True
Carlsson, Mr. Frans Olof False
Vander Cruyssen, Mr. Victor False
Abelson, Mrs. Samuel (Hannah Wizosky) False
Najib, Miss. Adele Kiamie "Jane" False
Gustafsson, Mr. Alfred Ossian False
Petroff, Mr. Nedelio False
Laleff, Mr. Kristo False
Potter, Mrs. Thomas Jr (Lily Alexenia Wilson) True
Shelley, Mrs. William (Imanita Parrish Hall) False
Markun, Mr. Johann False
Dahlberg, Miss. Gerda Ulrika False
Banfield, Mr. Frederick James False
Sutehall, Mr. Henry Jr False
Rice, Mrs. William (Margaret Norton) False
Montvila, Rev. Juozas False
Graham, Miss. Margaret Edith False
Johnston, Miss. Catherine Helen "Carrie" False
Behr, Mr. Karl Howell False
Dooley, Mr. Patrick False
Name: Fare, Length: 891, dtype: bool
用bool类型帅选数据,只显示符合条件的数据
:5
df[df['Fare']>40][:5]
PassengerId Survived Pclass Sex Age SibSp Parch Ticket Fare Cabin Embarked
Name
Braund, Mr. Owen Harris 1 0 3 male 22.0 1 0 A/5 21171 1000.0000 NaN S
Cumings, Mrs. John Bradley (Florence Briggs Thayer) 2 1 1 female 38.0 1 0 PC 17599 71.2833 C85 C
Futrelle, Mrs. Jacques Heath (Lily May Peel) 4 1 1 female 35.0 1 0 113803 53.1000 C123 S
McCarthy, Mr. Timothy J 7 0 1 male 54.0 0 0 17463 51.8625 E46 S
Fortune, Mr. Charles Alexander 28 0 1 male 19.0 3 2 19950 263.0000 C23 C25 C27 S
显示Sex为male的前5条数据
df[df['Sex']== 'male'][:5]
PassengerId Survived Pclass Sex Age SibSp Parch Ticket Fare Cabin Embarked
Name
Braund, Mr. Owen Harris 1 0 3 male 22.0 1 0 A/5 21171 1000.0000 NaN S
Allen, Mr. William Henry 5 0 3 male 35.0 0 0 373450 8.0500 NaN S
Moran, Mr. James 6 0 3 male NaN 0 0 330877 8.4583 NaN Q
McCarthy, Mr. Timothy J 7 0 1 male 54.0 0 0 17463 51.8625 E46 S
Palsson, Master. Gosta Leonard 8 0 3 male 2.0 3 1 349909 21.0750 NaN S
显示Sex为male数据,并且计算数据中age的平均值
df.loc[df['Sex']=='male','Age'].mean()
30.72664459161148
统计数据中Age大于70的数量
(
(df['Age']>70).sum()
5
2-Pandas索引--数据分析
最新推荐文章于 2023-05-12 22:05:54 发布