Datawhale组队学习第一章总结

1.1载入数据
1.1.1任务一:导入numpy和pandas

import numpy as np
import pandas as pd

1.1.2任务二:载入数据
(1)载入相对路径数据

df=pd.read_csv('train.csv')
df.head(3)
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

(2)相对路径载入报错时,使用os.getcwd()查看当前工作目录

import os
cwd=os.getcwd()
os.chdir("G:\hands-on-data-analysis-master\第一单元项目集合")
df=pd.read_csv('train.csv')

思考:pd.read_csv()是以逗号为分隔符进行数据的加载,pd.read_table()加载全部数据为一列
1.1.3任务三:每1000行为一个数据模块,逐块读取

chunker=pd.read_csv('train.csv',chunksize=1000)

思考:逐块读取它的本质就是将文本分成若干块,每次处理chunksize行的数据,最终返回一个TextParser对象
1.1.4任务四:将表头改成中文

df=pd.read_csv('train.csv',names=['乘客ID','是否幸存','舱位等级','姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口'],index_col='乘客ID',header=0)
df.head()
乘客ID 是否幸存 舱位等级 姓名 性别 年龄 兄弟姐妹个数 父母子女个数 船票信息 票价 客舱 登船港口
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

1.2初步观察
1.2.1任务一:查看数据的基本信息

df.info()

df.info()

Int64Index: 891 entries, 1 to 891
Data columns (total 11 columns):
是否幸存 891 non-null int64
舱位等级 891 non-null int64
姓名 891 non-null object
性别 891 non-null object
年龄 714 non-null float64
兄弟姐妹个数 891 non-null int64
父母子女个数 891 non-null int64
船票信息 891 non-null object
票价 891 non-null float64
客舱 204 non-null object
登船港口 889 non-null object
dtypes: float64(2), int64(4), object(5)
memory usage: 83.5+ KB
1.2.2任务二:观察表格前10行和后10行数据

df.head(10)#前10行数据
df.tail(10)#后10行数据

1.2.3任务三:判断数据是否为空,为空返回True,否则返回False

df.isnull().head()

1.3保存数据
1.3.1任务一:保存数据在一个新的路径

df.to_csv('train_chinese.csv')

1.4知道你的数据叫什么
1.4.1任务一:简单了解pandas中两个数据类型DateFrame和Series

#DateFrame
sdata={'姓名':['大黄','小美','飞飞','小明'],'体重':['99','98','180','140']}
sdata=pd.DataFrame(sdata)
sdata
体重  姓名

0 99 大黄
1 98 小美
2 180 飞飞
3 140 小明

#series
sdata={'大黄':99,'小美':98,'飞飞':180,'小明':140}
weight=pd.Series(sdata)
weight

大黄 99
小明 140
小美 98
飞飞 180
dtype: int64
1.4.2任务二:加载数据

train_data=pd.read_csv('train.csv')

1.4.3任务三:查看数据的每列的项

train_data.head(3)

1.4.4任务四:查看cabin这列的所有项

df['Cabin']

1.4.5任务五:加载test_1.csv,对比train.csv,然后将多出的列删除

#删除'Unnamed: 0','a'两列
test_data.drop(['Unnamed: 0','a'],axis=1,inplace=True)

1.4.6任务六:将[‘passengerid’,‘name’,‘age’,‘ticket’]这几个列元素隐藏,只观察其他几个列元素

df=pd.read_csv('train.csv')
df.drop(['PassengerId','Name','Age','Ticket'],axis=1)

1.5筛选的逻辑
1.5.1任务一:以age为筛选条件,显示年龄在10岁以下的乘客信息

df[df['Age']<10]

1.5.2任务二:以age为条件,将年龄在10岁到50岁之间乘客的信息显示出来,将其命名为midage

midage=df[(df['Age']>10)&(df['Age']<50)]

1.5.3任务三:将midage数据中第100行的pclass和sex的数据显示出来

midage=midage.reset_index(drop=True)#True代表删除之前索引False代表不删除之前索引
midage.loc[[99],['Pclass','Sex']]

1.5.4任务四:将midage数据中的第100,,15,108行的’Pclass‘,name,sex显示出来

midage.loc[[99,104,108],['Pclass','Name','Sex']]

1.5.5任务五:使用iloc将midage数据中第100,105,108的pclass,name,sex数据显示出来

midage.iloc[[99,104,108],[5,3,4]]

1.6了解你的数据吗?
1.6.1任务一:利用pandas对示例数据进行排序,要求升序

frame=pd.DataFrame(np.arange(8).reshape((2,4)),index=['2','1'],columns=['d','a','b','c'])
frame
frame.sort_values(by='c',ascending=False)

在这里插入图片描述

#按行索引
frame.sort_index()
#按列索引
frame.sort_index(axis=1)
#按列倒序索引
frame.sort_index(axis=1,ascending=False)
#任选两列降序索引
frame.sort_values(by=['a','c'])

1.6.2任务二:对泰坦尼克号数据按票价和年龄进行降序排列

df.sort_values(by=['Fare','Age'],ascending=False).head(3)

1.6.3任务三:利用pandas计算两个dataframe数据相加结果

frame_1=pd.DataFrame(np.arange(9.).reshape(3,3),columns=['a','b','c'],index=['one','two','three'])
frame_2=pd.DataFrame(np.arange(12.).reshape(4,3),columns=['a','e','c'],index=['first','one','two','second'])
frame_1+frame_2

Datawhale组队学习第一章总结_第1张图片
两个dataframe相加后会返回一个新的dataframe,对应的行和列的值会相加,没有对应的会变成空值NaN
1.6.4任务四:通过泰坦尼克号数据如何计算出在船上最大的家族有多少人?`

max(df['SibSp']+df['Parch'])

在这里插入图片描述
1.6.5任务五:使用describe()函数查看数据基本统计信息

frame2=pd.DataFrame([[1.4,np.nan],[7.1,-4.5],[np.nan,np.nan],[0.75,-1.3]],index=['a','b','c','d'],columns=['one','two'])
frame2
frame2.describe()

Datawhale组队学习第一章总结_第2张图片
1.6.6任务六:分别看泰坦尼克号数据中票价,父母子女这列数据的基本信息

#票价
df['Fare'].describe()
#父母子女
df['Parch'].describe()

你可能感兴趣的:(组队学习,数据分析,python)