一、数据类型DataFrame和Series
-
DataFrame
DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。
help(pandas.DataFrame) #可以用于查看对数据类型的详细说明 data = {'Name': ['Susan', 'Bob', 'Ella', 'Crystal'], 'Age': [13, 14, 15, 16], 'Class': [1,1,3,4] } example_2 = pd.DataFrame(data) #可以利用字典创建 example_2 #输出 Name Age Class 0 Susan 13 1 1 Bob 14 1 2 Ella 15 3 3 Crystal 16 4
两个DataFrame数据想加后会返回一个新的DataFrame数据,对应的行和列会相加(索引对应),没有对应的部分会返回空值NaN
-
Series
Series序列,是一种一维的结构,由两部分组成:索引index和数值values。可以通过字典来创建Series:sdata = {'Susan': 13, 'Bob': 14, 'Ella': 15, 'Crystal': 16} example_1 = pd.Series(sdata) example_1 #输出 Susan 13 Bob 14 Ella 15 Crystal 16
二、数据载入及初步观察
导入numpy及pandas
import numpy as np
import pandas as pd
载入数据
df = pd.read_csv('train.csv')
查看DataFrame数据每列的名称
df.columns
df.keys()
#输出
Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp','Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'],dtype='object')
查看"Cabin"这列的所有值
方法1:
df['Cabin'] #方法1
df.Cabin #方法2
对比两个csv文件的列,然后将后者多出的列删除
df1 = pd.read_csv('test_1.csv')
df1.columns
#输出
Index(['Unnamed: 0', 'PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age','SibSp', 'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked', 'a'],dtype='object')
#删除最后一列
df1.drop(['a'],axis=1,inplace=True)
删除某一列的方式汇总:
df1 = df1.drop(['a'],1)
df1.drop(['a'],axis=1,inplace=True)
df1.drop([df1.columns[-1]], axis=1,inplace=True)
del df1(['a'])
隐藏某几列的方式:
df.drop(['PassengerId','Name','Age','Ticket'],1) #不使用inplace = True即可
三、筛选数据
以"Age"为筛选条件,显示年龄在10岁以下的乘客信息:
df[df['Age']<10].head(5)
以"Age"为条件,将年龄在10岁以上和50岁以下的乘客信息显示出来:
midage = df[df['Age']>10 & df['Age']<50]
将midage的数据中第100行的"Pclass"和"Sex"的数据显示出来:
midage = midage.reset_index(drop=True) #重置索引,drop=True不保留原来的索引
midage.loc[[100],['Pclass','Sex']]
iloc:根据标签所在位置选择,先行后列
loc:根据标签选择,同样先行后列
midage.loc[[100,105,108],['Pclass','Name','Sex']]
midage.iloc[[100,105,108],[2,3,4]]
四、数据排序
df.sort_values(by='c') #按照某一列的值做升序排序
df.sort_index() #按照行索引排序
df.sort_index(axis=1, ascending=False) #按照列索引降序排序
df.sort_values(by=['Fare','Age']) #按照某两列的值做升序排序,先按照票价升序,再按照年龄升序
df.describe() #观察数据的基本统计信息:数据大小、平均值、标准差等
以上学习内容来自Datawhale